Ember.js 定义模型时使用DS.model或Ember.model或Ember.Object?

Ember.js 定义模型时使用DS.model或Ember.model或Ember.Object?,ember.js,ember-data,javascript-framework,ember-model,Ember.js,Ember Data,Javascript Framework,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.exte

此屏幕广播:使用
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.js中的每个对象都派生自一个公共对象:Ember.object。此对象用作视图、控制器、模型甚至应用程序本身的基础

这个简单的架构决策负责整个余烬的大部分一致性。因为每个对象都派生自同一个核心对象,所以它们都共享一些核心功能。每个余烬对象都可以观察其他对象的属性,将其属性绑定到其他对象的属性,指定和更新计算属性,等等

现在,根据您的用例,讨论差异以及何时可以使用它们

  • 是所有余烬对象的主类。它是的一个子类,应用了mixin
  • 您使用它创建任意对象,这个类也是使数据绑定成为可能的基础。
  • 由库和扩展使用
  • 如果使用ember模型作为持久性库,则可以使用此类定义模型
  • 由使用,它是ORM系统基类,也从
  • 当使用余烬数据作为持久性库来定义模型和关系等时,可以使用它

希望能有所帮助。

余烬一直在谈论的持久性库或“数据持久性层”是什么意思?@Jatin,当你有一个web应用程序,用户可以在其中创建/更新/删除对象,比如一篇带有注释的帖子,你很快就需要将这些对象的状态存储在某个地方(在数据库中,或者使用本地存储)要实现这一点,您需要编写代码来执行此
持久化任务。使用余烬数据或余烬模型为您提供了这样做的基础,因此您将需要更少的代码使您的应用程序能够存储它states@Jatin,
持久化
保存
同义。