Aktualizowanie tablicy JF Embera nie jest odzwierciedleniem w widokach.Ember JS, aktualizacja tablicy nie odzwierciedla w widokach
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
}
})
Szablon
{{#each results}}
// show items of reults.
{{/each}}
To jest kawałek kodu w której jestem pobierania danych z serwera, a po jego załadowaniu, jestem popychając go do tablicy wyników. To ładowanie danych z serwera zajmuje trochę czasu, więc zamień mapy na pustą tablicę wyników. Idealnie, tablica wyników powinna aktualizować rzeczy w szablonie, ale logicznie nie powinna.
Czy jakiekolwiek ciało wie, gdzie mnie brakuje? lub robi źle.
Z góry dziękuję.
Właśnie uratowałeś mój dzień. Dziękuje. –
Należy zauważyć, że tablica musi być 'Ember.NativeArray', która jest również' MutableArray'. Jeśli masz rozszerzenie ember natywnego prototypu js Array, to natywna tablica js będzie miała funkcję '.pushObject (thing)'. Jeśli nie rozszerzasz natywnego prototypu, będziesz musiał użyć 'Ember.A ([])'. [Więcej o Ember.A()] (https://emberjs.com/api/ember/3.0/functions/@ember%2Farray/A) –