Dopo l'aggiornamento a 1,13 ottengo questa eccezione e non riesco a capire qual è il problema. Inoltre non sono riuscito a trovare alcuna risorsa utile che affronti il mio problema.Hai modificato *** due volte in un unico rendering
Succede per le proprietà che ho impostato in un'altra proprietà calcolata. Ma questa proprietà è sicuramente chiamata solo una volta.
ho creato un esempio jsbin: http://emberjs.jsbin.com/roderameya/edit?html,js,console,output
UPDATE
come richiesto vi posto un codice che è più vicino alla mia implementazione reale.
Ember.Controller.extend({
filter: '',
resultCount: {
total: 0,
matches: 0,
mismatches: 0
},
results: function() {
var items = this.get('model'),
matches = [],
resultCount = {};
// Apply search filter
matches = items.filter(function(item){
// Just a dummy filter function
return true;
});
// We need the total number matched by the filter string
resultCount.total = matches.length;
// The already matched items must be narrowed further down
matches = matches.filter(function(item) {
// Another filter function
return true;
});
resultCount.matches = matches.length;
resultCount.mismatches = resultCount.total - matches.length;
this.set('resultCount', resultCount);
return matches;
}.property('model', 'filter'),
});
Thx - ma sfortunatamente non è così facile. È un esempio molto semplificato che ho creato. Nella mia app c'è molta più logica. Quindi nella proprietà "someData" devo filtrare il modello e contare quanti oggetti filtrati ho. E non è solo un conteggio ma più valori. – val
Lo stesso principio vale. Evita "set" all'interno di una proprietà calcolata. Prova ad estrarre ciascun conteggio in una proprietà calcolata. Se vuoi pubblicare un esempio più coinvolgente che è più vicino al tuo caso reale, possiamo vedere cosa possiamo fare. –
Ok, ho appena aggiornato il post originale con un esempio. Questo è più o meno quello che ho. – val