Cuando mi "modelo de tabla" cambia, quiero actualizar el "modelo global".Hacer que el modelo Backbone.js cambie "parcialmente" en silencio?
chartModel.bind("change", updateGlobalModel);
updateGlobalModel(){
globalModel.set(obj)
}
Y viceversa, quiero que mi modelo de gráfico se actualice cuando se modifique globalModel.
globalModel.bind("change", updateChartModel);
updateChartModel(){
chartModel.set(obj)
}
Esto genera un bucle de retroalimentación al configurar globalmodelo. Podría evitar esto configurando {silent: true}.
Pero aquí viene el problema. Tengo otro modelo que depende del evento de cambio:
globalModel.bind("change", updateOtherModel);
¿Cómo puedo alertar a este modelo del cambio pero no la anterior (para evitar el bucle de retroalimentación)?
ACTUALIZACIÓN:
Por ahora, me decidieron a generar un identificador específico para cada llamada conjunto:
set : function(attrs, options) {
if(!("setID" in attrs)){
attrs.setID = myApp.utils.uniqueID(); //newDate.getTime();
}
Backbone.Model.prototype.set.call(this, attrs, options);
},
De esta manera, siempre se puede generar un atributo "SETID" desde cualquier lugar en mi solicitud. Si el setID sigue siendo el mismo cuando obtengo algo del modelo, sé que podría haber riesgo de un ciclo de retroalimentación.
Gracias por su sugerencia. Lo probaré si mi solución alternativa falla (actualicé mi pregunta). – dani