2016-08-03 10 views
3

Es gibt zwei Möglichkeiten, in EmberJs Objekteigenschaften abzurufen.EmberJS: Was ist der Unterschied zwischen get (obj, 'prop') und obj.get ('prop')?

können Sie entweder myObject.get('propertyName'), was häufiger ist, oder Sie können zwischen diesen beiden get(myObject, 'propertyName')

Gibt es eine Implementierung Unterschied verwenden? Oder ist eine von ihnen nur eine Abkürzung für die andere? Gibt es Leistungsvorteile/Kosten?

+3

Solange 'myObject' ist ein' Ember.Object', gibt es keinen Unterschied. Allerdings kann Ember auch mit POJOs arbeiten, die keine this.get-Methode haben. – zeppelin

+0

Werfen Sie einen Blick auf [diese Diskussion] (http://discuss.emberjs.com/t/definitive-guide-of-when-to-use-get/6789) – ykaragol

+0

@ykaragol Danke –

Antwort

1

In der Praxis erhalten Sie manchmal, wenn Sie mit JSONs arbeiten, die von API kommen, einfache und einfache JavaScript-Objekte, die keine Eigenschaften von Ember.Object erben. Das bedeutet, dass Sie auch nicht auf die Methode myObject.get() zugreifen können.

let myObject = {}; 
myObject.get === undefined // true 

// this means you can't use myObject.get('propertyName') 

Das ist, wenn Sie entweder myObject.propertyName oder Ember.get(myObject, 'propertyName'):

let myObject = { propertyName: 666 }; 
let propertyValue = Ember.get(myObject, 'propertyName'); 
alert(propertyValue); // works 
+0

gut, wenn ich JSON einfach bekomme Objekte über xhr Anfrage, dann bedeutet es wahrscheinlich, dass ich Adapter/Serialisierer nicht verwendet habe. Aber ich verstehe deinen Standpunkt. –

+0

Ja, jedoch ist die Realität in Ember-Anwendungen üblich. ;) –

Verwandte Themen