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() });
记录
记录是包含信息的模型实例,该信息从服务器加载,您可以通过其模型类型和ID识别记录。
//它找到类型为"person"且"ID"为 1 的记录 this.get('store').findRecord('person', 1); // => { id: 1, name: 'steve-buscemi' }
适配器
适配器是一个对象,负责将 Ember 请求的记录转换为对特定服务器后端的适当调用。例如,如果您想查找 ID 为 1 的人,那么 Ember 将使用 HTTP 将 URL 加载为 /person/1。
缓存
记录可以由存储自动缓存,并在您第二次从服务器加载记录时返回相同的对象实例。这可以提高应用程序的性能并尽快向用户显示应用程序 UI。
下表列出了有关模型的详细信息 −
S.No. | 模型方法和说明 |
---|---|
1 | 定义模型
模型是一个简单的类,它扩展了 Ember 数据的功能。 |
2 | 查找记录
您可以使用 Ember 数据存储检索记录。 |
3 | 创建和删除记录
您可以在模型实例上创建和删除记录。 |
4 | 关系
Ember.js 提供关系类型来指定模型之间的相互关系。 |
5 | 将记录推送到存储中
您可以将记录推送到存储的缓存中,而无需从应用程序。 |
6 | 处理元数据
元数据是用于特定模型或类型的数据,而不是使用记录。 |
7 | 自定义适配器
Ember.js 适配器指定如何在后端数据存储中保存数据,例如 URL 格式和 REST API 标头。 |