ember.js
对象方法 extend
和 create
之间有什么区别?
TLDR:您可以在 Ember guides: classes and instances 中找到答案.
有时我会在示例中看到一个,有时会在示例中看到另一个。特别是,Em.Application.extend({})
和 Em.Application.create({})
之间有什么区别?
如果我这样声明我的应用程序,这意味着什么?
Ember.Application.create({
MyController : Ember.ArrayController.extend({
}),
});
如何访问 MyController 的实例?我需要以某种方式创建它吗?我需要将一些数据插入其中。
最佳答案
最简单的答案是 extend
定义一个新的 JS 类,它继承自您正在扩展的类,但不会创建该类的实例。 create
创建该类的实例。
Em.Application
是一种特殊情况,因为您正在创建命名空间,而不是对象实例。我不知道您什么时候想要扩展
Em.Application
。
App = Em.Application.create(); // I have a new Em.Application namespace App.A = Em.Object.extend(); // I have defined a new class, App.A, // which inherits from Em.Object var a = App.A.create(); // a now contains an instance of App.A.
我建议您也阅读“Naming Conventions ”。
预计到达时间:以及“Understanding Ember Objects ”,如 zaplitny 的评论中所建议的。
关于ember.js - ember.js 扩展和创建之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11654593/