Ich habe einen Helper, der ein Array von Elementen empfängt und ein anderes Array basierend auf dem ersten zurückgibt.EmberJS, Helfer und ComputedProperty
{{#each (sorted-strings myStrings) as |string|}}
{{string}}
{{/each}}
Die Umsetzung des Helper kann wie etwas sein:
// app/helpers/sorted-strings.js
import Ember from 'ember';
export function sortedStrings(params/*, hash*/) {
return params[0].sort();
}
export default Ember.Helper.helper(sortedStrings);
The Helper ok funktioniert, aber wenn die ursprüngliche myString
Array ändert sich die Änderungen nicht die bereits erbrachten Liste zu beeinflussen sind.
Wie kann ich kombinieren, um das Verhalten eines ComputedProperty und das Ergebnis eines Helper?
Dies funktioniert, danke. Aber es ist wahnsinnig, was ist der Sinn der Verwendung aller "Get" - und "Set" -Ember-Attribut-Manipulatoren, wenn ich am Ende explizit eine Änderung melden muss? In meinem Fall wird die Array-Elementeigenschaft durch einen '{{x-select}}' Helfer modifiziert, so dass es schwierig ist, den 'notifyPropertyChange' aufzurufen. – fguillen
Ich habe [hier ein Twiddle] (https://ember-twiddle.com/cf5cf506bf4f10557480f18e824cf700?openFiles=controllers.application.js%2C), wo ich 'ArrayProxy' und alle Batterie von' set' und 'get' zu verwenden versuche, Ember zu zwingen, eine Änderung implizit zu melden, aber es funktioniert nicht, wenn ich die explizite Benachrichtigung kommentiere: / – fguillen