📜  EmberJS-模型

📅  最后修改于: 2020-10-25 11:02:22             🧑  作者: Mango


Model是扩展Ember Data功能的类。用户刷新页面时,页面内容应由模型表示。在Ember.js中,每条路线都有一个关联的模型。该模型有助于提高应用程序的性能。灰烬数据处理服务器中存储的数据,还可以轻松地与流API(例如socket.io和Firebase或WebSockets)一起使用。

核心概念

  • 商店
  • 楷模
  • 记录
  • 适配器
  • 快取

商店

存储是中央存储库,是应用程序中所有可用记录的缓存。路由和控制器可以访问您的应用程序存储的数据。将自动创建DS.Store,以在整个对象之间共享数据。

import Ember from 'ember';

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

楷模

Model是扩展Ember Data功能的类,Ember Data指定与其他对象的关系。用户刷新页面时,页面内容应由模型表示。

import DS from 'ember-data';

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

记录

记录是包含信息的模型的实例,该信息是从服务器加载的,您可以通过记录的模型类型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。

快取

商店可以自动缓存记录,并在第二次从服务器加载记录时返回相同的对象实例。这样可以提高应用程序的性能,并尽可能快地向用户显示应用程序UI。

下表列出了有关模型的详细信息-

S.No. Model Ways & Description
1 Defining Models

Model is a simple class that extends the functionality of the Ember Data.

2 Finding Records

You can retrieve the records by using the Ember data store.

3 Creating and Deleting Records

You can create and delete the records on the instance of model.

4 Relationships

Ember.js provides relationship types to specify how the models are related to each other.

5 Pushing Records Into The Store

You can push the records into the store’s cache without requesting the records from an application.

6 Handling Metadata

Metadata is a data that is used for specific model or type instead of using record.

7 Customizing Adapters

Ember.js Adapter specifies how data is kept on at the backend data store such as URL format and REST API headers.