ember.js - ember.js 扩展和创建之间有什么区别?

标签 ember.js

ember.js 对象方法 extendcreate 之间有什么区别?

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/

相关文章:

rest - 如何强制ember-data从服务器重新加载记录的数据

javascript - 使用 Promise 将 Ember JS 转换为 Ember Data

ruby-on-rails - Ember-CLI:应用路径在哪里?

ember.js - EmberJS 可维护性

ember.js - EmberJS : What's the difference between get(obj, 'prop' )和 obj.get ('prop' )?

javascript - Ember.js:使当前用户全局可访问

ember.js - Ember 渲染 hbs 吞咽抛出错误

javascript - Ember.js 模板布局

ember.js - Ember 数据 : Insert new item at beginning of array instead of at the end

javascript - ember - 关闭操作会导致错误,除非在组件中提供操作,否则不会呈现页面