2016-10-10 1 views
0

Gibt es in Ember eine Möglichkeit, zu ermitteln, welche der abhängigen Schlüssel eine berechnete Eigenschaft neu berechnen lässt?Wissen, welche der abhängigen Schlüssel die Änderung der berechneten Eigenschaft verursacht

zB:

myProp: Ember.computed('dep1','dep2','dep3', function(){ 
    console.log('MyProp was recalculated due to a change in property :' <dep 1,2 or 3(get the value here)>); 
    return ...; 
}), 

Bitte lassen Sie mich wissen, ob ich irgendwelche zusätzlichen Details bieten sollte.

Antwort

1

Kurze Antwort: Nein, das ist nicht möglich.

Lange Antwort: Sie könnten alle Abhängigkeitsschlüssel speichern und bei der Neuberechnung vergleichen.

0

Wenn Sie sich in einer component.js befinden, können Sie didUpdateAttributes (Optionen) überprüfen, wobei Optionen die alten und neuen Werte aktualisierter Attribute enthalten.

+0

Ein Hinweis zu Omars Antwort: Es ist nicht genau, ob Sie in einer Komponente "sind", sondern ob diese Eigenschaftsänderungen den Lebenszyklus von Komponenten beeinflussen. Beispiel, wie wenn Sie Ihre Komponente in einer .hbs Vorlage eingefügt dieses '{{Blog-post title = title body = body}}' Sie innerhalb der 'didUpdateAttributes' in der Komponente Attribute Änderungen Haken beobachten konnte Titel und Körper. Aber keine andere Eigenschaft (berechnet oder nicht) streng intern zu dieser Komponente (die den Lebenszyklus nicht beeinflusst). Siehe https://guides.emberjs.com/v2.9.0/components/the-component-lifecycle/ – froskos

Verwandte Themen