Attualmente sto osservando alcuni array Ember in questo modo:Ember.JS: Osservando @each, ma proprio l'iterazione di nuovi elementi modificati/
observe_array: function() {
this.get("my_array").forEach(function(e,i) {
// do something
});
}.observes("[email protected]");
maggior parte delle volte, se my_array viene aggiornato, più elementi vengono aggiunti al una volta. Tuttavia, l'osservatore si attiva uno ad uno man mano che ogni elemento viene aggiunto, il che diventa estremamente inefficiente. C'è comunque modo di farlo in modo più efficiente? Essenzialmente, devo essere in grado di avere un array mutato basato su "my_array"
Per riferimento, le dimensioni realistiche di my_array saranno tra 600-1200 elementi. Il blocco "fa qualcosa" implica alcune operazioni che richiedono più tempo, creando oggetti Date da stringhe e convertendo ogni elemento in rappresentazione json.
Invece di fare un osservatore Ho provato anche una proprietà con il cacheable() Metodo/bandiera, ma che non ha Seam per accelerare le cose molto ....
sai quando la matrice è aggiornata? –
@ sly7_7 Ho paura di non capire bene cosa stai chiedendo, o almeno di quale tipo di risposta stai cercando. L'array è in realtà un array di record Ember-Data e rappresenta tutti gli elementi caricati da un determinato modello. –
Mi dai una buona risposta qui, anche se la mia domanda era una schifezza ^^. Prova ad osservare my_array.isLoaded e vedi se è meglio :) –