核心提示:现在,我们的 app 还是使用的在 rentals 路由处理程序中硬编码的数据来设置模型。当我们的应用发展壮大的时候,我们将想要能够创建新、更新、删除租赁信息,以及将这些变动保存到后端服务器。Embe...
现在,我们的 app 还是使用的在 rentals 路由处理程序中硬编码的数据来设置模型。当我们的应用发展壮大的时候,我们将想要能够创建新、更新、删除租赁信息,以及将这些变动保存到后端服务器。Ember 集成了一个名叫 Ember Data 的数据管理库来帮助处理这些问题。
让我们创建我们的第一个叫做 rental 的 Ember Data 模型:
ember g model rental
这将完成一个模型文件和一个测试文件的创建:
installing model create app/models/rental.js installing model-test create tests/unit/models/rental-test.js
当我们打开模型文件时,我们将看见:
app/models/rental.js
import DS from 'ember-data'; export default DS.Model.extend({ });
让我们为 rental 模型添加同使用过的硬编码的 JavaScript 数组对象一样的属性——title,owner,city,type,image,bedrooms and description:
app/models/rentals.js
import DS from 'ember-data'; export default DS.Model.extend({ title: DS.attr(), owner: DS.attr(), city: DS.attr(), type: DS.attr(), image: DS.attr(), bedrooms: DS.attr(), description: DS.attr() });
现在,我们在 Ember Data 仓库中已经拥有了一个模型。
更新模型钩子
为了使用我们新的数据仓库,我们需要更新我们路由处理程序中的模型钩子。
app/routes/rentals.js
import Ember from 'ember'; export default Ember.Route.extend({ model() { return this.get('store').findAll('rental'); } });
当我们调用 this.get('store').findAll('rental');,Ember Data 将发起一个链接到 /rental 的请求。