此截屏视频:http://www.embercasts.com/episodes/getting-started-with-ember-model使用Ember.model
创建了这样的人物模型:
App.Person = Ember.Model.extend({
name : Ember.attr()
})
docs使用Ember.Object
App.Person = Ember.Object.extend({
say : function(thing) {
alert(thing);
}
});
此外,在defining models部分下,给出了使用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')
});
这三者之间有什么区别?何时使用哪个?
答案 0 :(得分:31)
如Ember.Object中的非常具有说明性的article所述:
Ember.js中的几乎每个对象都来自一个公共对象:Ember.Object。该对象用作视图,控制器,模型甚至应用程序本身的基础。
这个简单的架构决策负责Ember的大部分一致性。因为每个对象都是从同一个核心对象派生的,所以它们都共享一些核心功能。每个Ember对象都可以观察其他对象的属性,将其属性绑定到其他对象的属性,指定和更新计算属性等等。
现在根据您的使用情况来区分和何时使用它们。
Ember.CoreObject
的子类,应用了Ember.Observable
mixin。Ember.Object
Ember.Object
延伸希望它有所帮助。