2017-04-11 1 views
0

Ist eine Möglichkeit zum Festlegen einer berechneten Eigenschaft, die ein Array zurückgibt? Im folgenden Beispiel wird die Funktion get genannt, aber nie die eingestellte Funktion, wenn neue Teilnehmer-IDs hinzugefügt/entferntFestlegen einer berechneten Eigenschaft, die ein Array ist

participantIds: computed({ 
    get() { 
     Ember.debug('Getting...'); 
     return this.get('participants').mapBy('id'); 
    }, 
    set(key, participantIds) { 
     Ember.debug('Setting...'); 
     // do something when participants ids changed 
     return participantIds; 
    } 
}), 

Antwort

0

Das ist, weil die berechnete Eigenschaft selbst nicht verändert, aber die Array zurückgegeben Sie geändert wird.

Was Sie wollen könnte mit einem ArrayProxy getan werden, aber ich würde dies nicht empfehlen.

Es ist wahrscheinlich besser, auf eine Weise zu refaktorieren, dass Sie das nicht brauchen.

Verwandte Themen