Aggiornamento L'array JS di Ember non riflette nelle viste.Ember JS, aggiornamento dell'array non riflettente nelle viste
controller
App.MyController = Ember.ArrayController.extend({
results: [],
init: function(){
_this = this
App.MyModel.find({}).then(function(contents) {
obj1 = contents.objectAt(0)
obj1.get('data').hasMany.results.forEach(function(item){
_this.results.push(item)
});
})
//rest of the code
}
})
Template
{{#each results}}
// show items of reults.
{{/each}}
Questo è il pezzo di codice in cui sono il recupero dei dati dal server e sul suo carico, sto spingendo in risultati array. Questo caricamento dei dati dal server richiede un po 'di tempo, quindi i template si sovrappongono all'array dei risultati vuoto. Idealmente, la matrice dei risultati dovrebbe aggiornare le cose nel modello ma logicamente non dovrebbe.
Qualcuno sa dove mi manca? o sbagliato.
Grazie in anticipo.
Hai appena salvato la mia giornata. Grazie amico. –
Si noti che l'array deve essere un 'Ember.NativeArray', che è anche un' MutableArray'. Se hai ember estendi il prototipo nativo di array js, allora l'array js nativo avrà una funzione '.pushObject (cosa)'. Se non stai estendendo il prototipo nativo dovrai usare 'Ember.A ([])'. [Maggiori informazioni su Ember.A()] (https://emberjs.com/api/ember/3.0/functions/@ember%2Farray/A) –