Emberjs-model

提供:Dev Guides
移動先:案内検索

EmberJS-モデル

モデルは、Ember Dataの機能を拡張するクラスです。 ユーザーがページを更新すると、ページのコンテンツはモデルで表される必要があります。 Ember.jsでは、すべてのルートにモデルが関連付けられています。 このモデルは、アプリケーションのパフォーマンスを向上させるのに役立ちます。 Ember Dataはサーバーに保存されたデータを操作し、socket.ioやFirebaseやWebSocketsなどのストリーミングAPIでも簡単に動作します。

コアコンセプト

  • 格納
  • モデル
  • 記録
  • アダプタ
  • キャッシング

格納

ストアは、アプリケーションで使用可能なすべてのレコードの中央リポジトリおよびキャッシュです。 ルートとコントローラーは、アプリケーションの保存データにアクセスできます。 DS.Storeは、オブジェクト全体でデータを共有するために自動的に作成されます。

import Ember from 'ember';

export default Ember.Route.extend ({
   model() {
      return this.store.find();
   }
});

モデル

モデルは、他のオブジェクトとの関係を指定するEmber Dataの機能を拡張するクラスです。 ユーザーがページを更新すると、ページのコンテンツはモデルで表される必要があります。

import DS from 'ember-data';

export default DS.Model.extend ({
   owner: DS.attr(),
   city: DS.attr()
});

記録

レコードは、サーバーからロードされる情報を含むモデルのインスタンスであり、モデル_type_および_ID_によってレコードを識別できます。

//It finds the record of type 'person' and an 'ID' of 1
this.get('store').findRecord('person', 1);//=> { id: 1, name: 'steve-buscemi' }

アダプタ

アダプターは、要求されたレコードをEmberから特定のサーバーバックエンドへの適切な呼び出しに変換するオブジェクトです。 たとえば、IDが1の人を検索する場合、EmberはHTTPを_/person/1_として使用してURLをロードします。

キャッシング

レコードはストアによって自動的にキャッシュされ、サーバーからレコードを2回目にロードするときに同じオブジェクトインスタンスを返します。 これにより、アプリケーションのパフォーマンスが向上し、ユーザーにアプリケーションUIができるだけ速く表示されます。

次の表は、モデルに関する詳細を示しています-

S.No. Model Ways & Description
1

Defining Models

モデルは、Ember Dataの機能を拡張する単純なクラスです。

2

Finding Records

Emberデータストアを使用してレコードを取得できます。

3

Creating and Deleting Records

モデルのインスタンスでレコードを作成および削除できます。

4

Relationships

Ember.jsは、モデルが互いにどのように関連するかを指定する関係タイプを提供します。

5

Pushing Records Into The Store

アプリケーションからレコードを要求することなく、レコードをストアのキャッシュにプッシュできます。

6

Handling Metadata

メタデータは、レコードを使用する代わりに、特定のモデルまたはタイプに使用されるデータです。

7

Customizing Adapters

Ember.jsアダプターは、URL形式やREST APIヘッダーなど、データがバックエンドデータストアで保持される方法を指定します。