Ember.Application.create 对比 Ember.Application.extend
Ember.Application.create vs Ember.Application.extend
我注意到在 Ember CLI (v0.1.12) 生成的 app.js
文件中,他们使用:
var App = Ember.Application.extend({...})
但在 introduction guide,他们使用:
window.App = Ember.Application.create({...});
这两种(创建与扩展)创建 Ember 应用程序的方法在结果上有什么不同吗?
如 Ember 文档中所述 extend
Creates a new subclass, 同时
create
Creates an instance of a class.
主要区别在于使用 extend
you can override methods but still access the implementation of your
parent class by calling the special _super() method
但是 create
没有这种能力。
链接的文档有很好的代码示例,专门针对您的问题。
见
The create() on line #17 creates an instance of the App.Soldier class.
The extend() on line #8 creates a subclass of App.Person. Any instance
of the App.Person class will not have the march() method.
以及处理该引用的代码。
我注意到在 Ember CLI (v0.1.12) 生成的 app.js
文件中,他们使用:
var App = Ember.Application.extend({...})
但在 introduction guide,他们使用:
window.App = Ember.Application.create({...});
这两种(创建与扩展)创建 Ember 应用程序的方法在结果上有什么不同吗?
如 Ember 文档中所述 extend
Creates a new subclass, 同时
create
Creates an instance of a class.
主要区别在于使用 extend
you can override methods but still access the implementation of your parent class by calling the special _super() method
但是 create
没有这种能力。
链接的文档有很好的代码示例,专门针对您的问题。
见
The create() on line #17 creates an instance of the App.Soldier class. The extend() on line #8 creates a subclass of App.Person. Any instance of the App.Person class will not have the march() method.
以及处理该引用的代码。