Beim Durchsuchen der mit Ember.js geschriebenen Anwendungen habe ich festgestellt, dass Arrays manchmal mit einem Aufruf an Ember.A()
definiert sind und manchmal Array-Literale verwendet werden. Wenn ich Ember.A([1])
in der Browser-Konsole ausgeführt wurde, sieht der Rückgabewert wie ein Array aus und Arrays, die mit Array-Literalen erstellt wurden, hatten die Methoden Ember.js pushObject
und Freunde. Ist der Aufruf an Ember.A()
nur eine Möglichkeit, eine Ember.Array
zu definieren, wenn Sie keine Prototyp-Erweiterungen verwenden? Ansonsten sind alle Arrays gleich?In Ember.js, was ist der Unterschied zwischen [] und Ember.A ([])?
32
A
Antwort
42
Ihre Frage enthält die richtige Antwort: Ember.A()
nur eine Möglichkeit, eine Ember.Array
zu definieren, wenn Sie die Prototyp-Erweiterungen deaktiviert haben. Sie werden feststellen, dass Embers interner Code immer Ember.A()
verwendet.
Die Prototyperweiterungen können deaktiviert werden, indem vor dem Laden von Ember 'ENV.EXTEND_PROTOTYPES = false' gesetzt wird. Sie sind standardmäßig aktiviert. –
Wie erstellt man und Ember.A() der Länge 6? – SuperUberDuper
wahrscheinlich besser als eine neue Frage, aber es ist: 'Ember.A (neue Array (6))' –