backbone.js - pelicula - marionette pixar
Objeto de marioneta Vea cómo volver a representar el modelo en el cambio (2)
Estoy usando el motor de plantillas de manubrios.
entonces, tengo Modelo:
Backbone.Model.extend({
urlRoot: Config.urls.getClient,
defaults: {
contract:"",
contractDate:"",
companyTitle:"",
contacts:[],
tariff: new Tariff(),
tariffs: [],
remain:0,
licenses:0,
edo:""
},
initialize:function(){
this.fetch();
}
});
luego Marionette ItemView:
Marionette.ItemView.extend({
template : templates.client,
initialize: function () {
this.model.on(''change'', this.render, this);
},
onRender: function () {
console.log(this.model.toJSON());
}
});
y luego llamo a todo como:
new View({
model : new Model({id:id})
})
y, de inmediato me da una visión y esto es genial. Pero después de que el modelo buscó datos, se activó el "cambio", así que lo veo en el modelo serializado de la consola dos veces, y veo por primera vez un modelo vacío y luego lleno uno.
Pero, la vista NO está actualizada.
¿Cómo puedo arreglarlo?
PD. Entiendo que puedo llamar a un método de renderizado para recuperar la devolución de llamada. Pero también lo necesito para otras acciones, cuando el usuario cambie el modelo.
En la Vista, puede usar el siguiente código
modelEvents: {
''change'': ''render'';
}
en lugar de
initialize: function () {
this.model.on(''change'', this.render, this);
},
onRender: function () {
console.log(this.model.toJSON());
}
En realidad, Backbone y Marionette son lo suficientemente inteligentes como para hacerlo.
El problema estaba en la plantilla y los datos ya que encontré otra pregunta . Entonces, volví a verificar todo y obtuve el resultado.