现在,我们的 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
的请求。你可以在 模型章节 学习到更多关于 Ember Data 的知识。