Probabilmente mi manca qualcosa di veramente stupido, (Ember newbie) ma non riesco a capire come modificare un array che è sotto la gestione del mio controller Ember, oltre a impostare un array completamente nuovo.Come si modificano gli elementi in un array gestito da un controller Ember?
Ad esempio. Ho la seguente funzione di test nel mio controller. Quando l'utente fa clic, voglio modificare ogni elemento dell'array controllato (o potrebbe essere un singolo elemento) con un nuovo valore.
Capisco che si suppone di passare attraverso "set" per apportare le modifiche noti per Ember, così ho pensato che questo avrebbe funzionato:
clickHandler:function(e){
var temp = this.get("itemList").copy(); // copy it
for (var i = 0; i < temp.length; i++) {
temp[i].desc = "CANCELLED"; // change it
}
this.set('itemList', temp); // put it back
}
faccio una copia della matrice, modificarlo, e quindi riportarlo indietro. Ma in qualche modo Ember si lamenta della quarta riga, dove modifico il contenuto di temp [i] .desc, dicendo che devo usare Ember.Set. Supponevo di poter modificare la copia "offline" e quindi di ripristinarla, ma no-go e non riesco a capire perché. Altre operazioni di array, come shift/unshift/pop sembrano funzionare.
Grazie. Voi ragazzi che ci prendete il tempo di istruirci su Stack Overflow sono fantastici. Sfortunatamente, nessuna di queste soluzioni funziona per me. In entrambi i casi viene visualizzato l'errore "Uncaught TypeError: Object #