Czy zamknięty widok marionetki nie powinien ponownie delegować zdefiniowanych zdarzeń (zdarzeń, modelEvents, CollectionEvent) podczas ponownego renderowania?Renderowanie zamkniętego widoku marionetki
Wygląda na to, że muszę ręcznie wywoływać delegateEvents po zamknięciu i ponownym renderowaniu widoku. W przeciwnym razie widok nie będzie działał zgodnie z oczekiwaniami.
var app = new Marionette.Application();
app.addRegions({
main: '.main'
});
var MyView = Marionette.ItemView.extend({
template: _.template('Hi, I\'m a view! Foo is: <%= foo %>'),
modelEvents: {
'change': 'onChange'
},
onChange: function() {
alert('change!');
}
});
var Model = Backbone.Model.extend({});
app.addInitializer(function() {
var m = new Model({foo: 'bar'});
var myView = new MyView({
model: m
});
app.main.show(myView);
myView.close();
app.main.show(myView);
m.set({foo: 'baz'});
});
$(document).ready(function(){
app.start();
});
Powinno i tak jest, prawdopodobnie robisz coś złego w widoku, możesz wkleić kod swojego problematycznego widoku – ekeren
Spójrz na to skrzypce: http: // jsfiddle.net/4DCeY/Jeśli wszystko będzie działać poprawnie, komunikat ostrzegawczy powinien zostać wyświetlony –