📅  最后修改于: 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. |