此屏幕广播:http://www.embercasts.com/episodes/getting-started-with-ember-model使用Ember.model
创建了这样的人物模型:
App.Person = Ember.Model.extend({
name : Ember.attr()
})
文档使用Ember.Object
给出了这个例子
App.Person = Ember.Object.extend({
say : function(thing) {
alert(thing);
}
});
此外,在定义模型部分,给出了使用DS.model
的示例
App.Person = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
birthday: DS.attr('date'),
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
}.property('firstName', 'lastName')
});
这三者之间的区别是什么?何时使用哪个?
Ember.Object
正如这篇关于Ember的说明性文章所述。对象:
Ember.js中几乎每个对象都派生自一个公共对象:Ember.object。这个对象被用作视图、控制器、模型甚至应用程序本身的基础。
这个简单的体系结构决策负责Ember之间的大部分一致性。因为每个对象都派生自同一个核心对象,所以它们都共享一些核心功能。每个Ember对象都可以观察其他对象的属性,将它们的属性绑定到其他对象的特性,指定和更新计算的属性,等等。
现在来看差异,以及根据您的用例何时可以使用它们。
Ember.Object
- 是所有ember对象的ember.js主类。它是应用了
Ember.Observable
mixin的Ember.CoreObject
的一个子类 - 您可以使用它来创建任意对象,这个类也是实现数据绑定的基础
Ember模型
- 由成员模型库使用,并扩展
Ember.Object
- 如果使用ember模型作为持久性库,则可以使用此类定义模型
DS.型号
- 由成员数据使用,它是ORM系统基类,也是从
Ember.Object
扩展而来的 - 当您使用ember数据作为持久性库来定义模型和关系等时,您可以使用它
希望能有所帮助。