To pytanie rzeczywiście ma wiele wspólnego z Ember.Object
.
.extend()
tworzy nową klasę, która rozciąga się starą z klasy poziomu właściwości zdefiniowane w mieszania, która jest przekazywana w.
.create()
utworzyć nową instancję klasy z poziomu obiektu właściwości określone w haszowniku, który jest przekazywany.
Dlatego nie można odczytać właściwości w drugim przypadku. Jeśli chcesz to zrobić, trzeba będzie zrobić:
var App = Ember.Application.extend({});
App.test = 'foo';
W prostym aplikacji Ember, można utworzyć instancję obiektu App
, bo masz zamiar używać go bezpośrednio.
W wygenerowanej przez ember-cli aplikacji Ember, nie tworzysz instancji obiektu App
, tylko definiujesz jej klasę (używając .extend()
). Dzieje się tak dlatego, że nie używasz go bezpośrednio, ponieważ ember-cli chce klasę, aby mogła wykonywać na niej własne rzeczy, zanim wewnętrznie ją stworzy.
Spróbuj przeczytać, aby dowiedzieć się trochę o tym, jak moduły importu i eksportu ember-cli http://iamstef.net/ember-cli/#using-modules i http://iamstef.net/ember-cli/#naming -konwencje – Grapho