入门指南 获取Ember 概念 对象模型 应用 模板 路由 组件 控制器 模型 视图 枚举 测式 配置Ember.js COOKBOOK 理解Ember.js

发布于 2015-08-18 16:34:59 | 447 次阅读 | 评论: 0 | 来源: 网络整理

当开发客户端应用时,服务端可能还没有完成对应API的开发。使用FixtureAdapter可以先进行Ember应用开发,然后切换到其他的适配器来使用API,并且这个切换并不需要改变应用的代码。

开始学习

使用夹具适配器需要完成三步简单的配置:

  1. 创建一个新的、使用夹具适配器的store并将其关联到应用。
  2. 使用DS.Model.extend来定义模型。
  3. 将夹具(样本数据)关联到对应的模型类。

创建夹具适配器

只需将其定义为Ember.Application应用的ApplicationAdapter属性即可。

 
1
2
var App = Ember.Application.create();
App.ApplicationAdapter = DS.FixtureAdapter;
 

定义模型

查看定义模型一章可以获取更多详细的关于定义模型的介绍,作为简单的示例,这里定义一个编写Ember文档的人员的模型。

 
1
2
3
4
App.Documenter = DS.Model.extend({
  firstName: DS.attr( 'string' ),
  lastName: DS.attr( 'string' )
});
 

关联夹具到模型类

关联夹具非常之简单。只需要将一个Javascript对象集合赋值给模型的FIXTURES属性即可:

 
1
2
3
4
App.Documenter.FIXTURES = [
  { id: 1, firstName: 'Trek', lastName: 'Glowacki' },
  { id: 2, firstName: 'Tom' , lastName: 'Dale'     }
];
 

这就是所有的配置过程了,现在便可以施工用查找记录一章中得方法了。例如:

 
1
2
3
4
5
6
App.DocumenterRoute = Ember.Route.extend({
  model: function() {
    return this.store.find('documenter', 1); // returns a promise that will resolve
                                             // with the record representing Trek Glowacki
  }
});
 

命名惯例

REST Adapter不同,夹具适配器并不做任何命名惯例的猜测。如同上例中所示,如果在DS.Model.extend中定义了一个firstName属性,那么需要在夹具样本数据中使用firstName来表示该属性。

更重要地是,需要确保夹具样本数据中得每一条记录都有一个唯一的标识。缺省情况下,Ember Data假定该标识为id。如果没有重定义主键标识名,又未在记录中提供一个id,那么夹具适配器会抛出一个错误。

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务