Jea*_*ean 7 javascript ember.js ember-cli
在您首先编写的新ember应用程序中:
var App = Ember.Application.create({
test: 'foo',
...
});
Run Code Online (Sandbox Code Playgroud)
在您首先编写的新ember-cli应用程序中:
var App = Ember.Application.extend({
test: 'foo',
...
});
Run Code Online (Sandbox Code Playgroud)
为什么?
(在第二种情况下,我无法从控制器读取全局属性(App.test).!?)
这个问题实际上与很多有关Ember.Object.
.extend()创建一个扩展旧类的新类,在传入的哈希中定义类级属性.
.create()创建该类的新实例,并在传入的哈希中定义对象级属性.
这就是为什么你不能在第二种情况下阅读该属性.如果你想这样做,你需要做:
var App = Ember.Application.extend({});
App.test = 'foo';
Run Code Online (Sandbox Code Playgroud)
在简单的Ember应用程序中,您可以创建App对象的实例,因为您将直接使用它.
在ember-cli生成的Ember应用程序中,您不创建App对象的实例,只需定义其类(使用.extend()).这是因为你没有直接使用它,因为ember-cli想要这个类,所以它可以在内部实例化之前对它做自己的事情.
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |