Gibt es ein Ereignis oder einen Hook, der verwendet werden sollte, um zu erfassen, wenn ein Controller nach der Instanziierung initialisiert oder für eine bestimmte Route neu initialisiert wird?Event für Controller Modell in Ember ändern?
Ich habe bereits versucht init()
- aber mein Controller ist nur einmal für die Lebensdauer der Anwendung instanziiert, sondern unterstützt mehrere Modelle abhängig von der Route. Was ich erfassen muss, ist, wenn sich das Modell des Controllers ändert, oder ein Moment nach der Instanziierung, wenn sich die Route ändert.
Ich habe auch versucht, eine berechnete Eigenschaft zu setzen, aber es ist nicht wirklich angemessen, da ich ein Ereignis brauche, um eine Funktion auszulösen, wenn sich das Modell ändert - nicht nur wenn die Eigenschaft aufgerufen wird.
Jede Hilfe wird sehr geschätzt.
Bearbeiten: Aha! Ich habe komplett über die Tatsache nachgedacht, dass ich observes()
auf meine Funktion einstellen kann, so dass es ausgelöst wird, wenn sich das Modell ändert.
So, das war meine Antwort folgendes zu tun:
dependency: function() {
console.log('the model has changed');
//...other stuff...
}.observes('model')
werfen Sie einen Blick hier http://emberjs.com/guides/routing/setting-up-a-controller/ – fanta
Zaemz, bitte Setzen Sie das als Ihre Antwort und markieren Sie es als akzeptiert (wenn verfügbar). – Kingpin2k
@ kingpin2k Wird tun. –