我有一个 Backbone Marionette ItemView,它有两个模板,我想在特定条件下打开它们。主干视图正在为 1 个模板注册事件,但没有为第二个模板触发。
var emailView = Marionette.ItemView.extend({
initialize: function(){
},
getTemplate: function(){
if(this.options.position == 'a'){
//load tempalte 2
return template2;
} else {
//load template 1
return template;
}
},
events: {
//event from second template, not firing
'click #abcdef': 'a',
//event from first template, working
'click #sendemail': 'b'
},
a: function(){
alert("Hello");
},
b: function(){
alert("Hellob");
}
当我运行模板 1 时,事件工作正常,但是当我加载模板 2 时,它没有为它处理事件。
可以指导我做错了什么。
我的第一个模板:
<div id="emaildialog" title="" class="emaild">
<div class="row">
<div class="row1">
<button class="k-button" id="sendemail">Send</button>
</div>
</div>
</div>
我的第二个模板:
<div id="emailconfiguredialog" class="emaild" title="">
<div class="row">
<div class="row1">
<button class="k-button" id="abcdef">Update Email</button>
</div>
</div>
</div>