EmberJS - 模特( Models)
优质
小牛编辑
132浏览
2023-12-01
Model是一个扩展Ember Data功能的类。 当用户刷新页面时,页面的内容应由模型表示。 在Ember.js中,每条路线都有一个相关的模型。 该模型有助于提高应用程序的性能。 Ember Data可以处理服务器中存储的数据,也可以轻松使用socket.io和Firebase或WebSockets等流媒体API。
核心概念
- Store
- Models
- Records
- Adapter
- Caching
Store
该商店是应用程序中可用的所有记录的中央存储库和缓存。 路径和控制器可以访问应用程序的存储数据。 自动创建DS.Store以在整个对象之间共享数据。
import Ember from 'ember';
export default Ember.Route.extend ({
model() {
return this.store.find();
}
});
Models
Model是一个扩展Ember Data功能的类,它指定与其他对象的关系。 当用户刷新页面时,页面的内容应由模型表示。
import DS from 'ember-data';
export default DS.Model.extend ({
owner: DS.attr(),
city: DS.attr()
});
Records
记录是包含信息的模型实例,该信息从服务器加载,您可以通过其模型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' }
Adapter
适配器是一个对象,负责将请求的记录从Ember转换为对特定服务器后端的适当调用。 例如,如果要查找ID为1的人,则Ember将使用HTTP作为/person/1加载URL。
Caching
记录可以由存储自动缓存,并在您第二次从服务器加载记录时返回相同的对象实例。 这样可以提高应用程序的性能,并尽快向用户显示应用程序UI。
下表列出了有关模型的详细信息 -
S.No. | 模型方式和描述 |
---|---|
1 | Defining Models Model是一个简单的类,它扩展了Ember Data的功能。 |
2 | 寻找记录 您可以使用Ember数据存储检索记录。 |
3 | 创建和删除记录 您可以在模型实例上创建和删除记录。 |
4 | Relationships Ember.js提供关系类型以指定模型彼此之间的关系。 |
5 | 将记录推入商店 您可以将记录推送到商店的缓存中,而无需从应用程序请求记录。 |
6 | 处理元数据 元数据是用于特定模型或类型而不是使用记录的数据。 |
7 | 自定义适配器 Ember.js适配器指定如何在后端数据存储中保留数据,例如URL格式和REST API标头。 |