EmberJS - 模型


Model 是一个扩展 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();
   }
});

楷模

Model 是一个扩展 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。

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

编号 型号方式及说明
1 定义模型

Model 是一个简单的类,扩展了 Ember Data 的功能。

2 查找记录

您可以使用 Ember 数据存储检索记录。

3 创建和删除记录

您可以创建和删除模型实例上的记录。

4 人际关系

Ember.js 提供关系类型来指定模型如何相互关联。

5 将记录推入商店

您可以将记录推送到存储的缓存中,而无需从应用程序请求记录。

6 处理元数据

元数据是用于特定模型或类型而不是使用记录的数据。

7 定制适配器

Ember.js 适配器指定如何在后端数据存储中保留数据,例如 URL 格式和 REST API 标头。