2

考虑到这一点,

MyApp = Ember.Application.create();
MyApp.someName = Ember.Namespace.create({
//my properties
});

我可以使用任何一种方法来做同样的事情Ember.Object......

MyApp = Ember.Application.create();
MyApp.someName = Ember.Object.create({
//my properties
});

那么,我应该什么时候使用Namespace?区别在哪里?

4

1 回答 1

1

您可以查看命名空间文档

命名空间是一个对象,通常用于包含其他对象或方法,例如应用程序或框架。在您想要定义这些新容器之一的任何时候创建一个命名空间。

与对象的区别在于destroy方法,它从命名空间列表中删除命名空间,如您在此处看到的

destroy: function() {
  var namespaces = Ember.Namespace.NAMESPACES;
  window[this.toString()] = undefined;
  namespaces.splice(indexOf.call(namespaces, this), 1);
  this._super();
}
于 2012-09-17T10:33:27.300 回答