Diese Frage hat tatsächlich viel mit Ember.Object
zu tun.
.extend()
schafft eine neue Klasse, die die alte in dem Hash definiert sind, mit Klassenebene Eigenschaften erstreckt, die in übergeben wird.
.create()
eine neue Instanz der Klasse erstellen, mit Objektebene in der Hash-definierten Eigenschaften, die in übergeben wird.
dieser Grund sollten Sie nicht die Eigenschaft, im zweiten Fall lesen können. Wenn Sie das tun wollen, müssen Sie tun:
var App = Ember.Application.extend({});
App.test = 'foo';
In einem einfachen Ember App können Sie ein Exemplar des App
Objekt erstellen, weil Sie es gehen direkt zu verwenden.
In einer ember-cli generierten Ember-App erstellen Sie keine Instanz des Objekts App
, sondern definieren lediglich seine Klasse (mit .extend()
). Das liegt daran, dass Sie sie nicht direkt verwenden, da ember-cli die Klasse möchte, damit sie ihre eigenen Dinge tun kann, bevor sie sie intern instanziiert.
versuchen, diese n bisschen darüber, wie Ember-cli Import und Export-Module http://iamstef.net/ember-cli/#using-modules und http://iamstef.net/ember-cli/#naming lernen lesen -Konventionen – Grapho