我正在使用Marionette region来显示基于用户无线电输入的模板:(文本/文件)。这是我的项目视图
var fileTemplateView = Marionette.ItemView.extend({
template : "#file-upload-template"
});和region定义为
regions : {
composeRegion : "#compose-region",
}并将事件声明为
events : {
"click #msg-input-type input:radio" : "changedRadio"
}并且事件触发函数是
changedRadio : function(evt) {
var self = this;
var checkedObject = evt.currentTarget;
console.log('Radio Change Event'+checkedObject.value);
if (checkedObject.value === "file") {
if (self.fileView === undefined) {
self.fileView = new fileTemplateView();
}
this.composeRegion.show(self.fileView, { preventDestroy: true });
} else if (checkedObject.value === "text") {
if (self.textView === undefined) {
self.textView = new textTemplateView();
}
this.composeRegion.show(self.textView, { preventDestroy: true });
}但是preventDestroy方法可能不会像定义的那样工作,在每次无线电事件发生时模板都会重置。
非常感谢您的帮助。
发布于 2015-05-30 19:34:08
preventDestroy选项可防止已交换的视图被销毁。这并不意味着它不会在下次显示时重新呈现。确保保存视图的状态,以便下次可以正确地重建视图。
https://stackoverflow.com/questions/30531912
复制相似问题