1
我正在用Underscore模板實現Backbone視圖。使用setElement函數將視圖el替換爲模板html。該函數聲明說:「...將視圖的委託事件從舊元素移動到新元素」,但由於某種原因,這不起作用。任何想法,爲什麼這不工作在骨幹宣言描述?在setElement之後沒有委託給新元素的骨幹事件
下面的情況(該視圖中的相關部分)的示例:
initialize: function(args) {
_.extend(this, args);
this.listenTo(this.model, 'change', this.render);
},
events: {
'click .active-area': '_test'
},
_test: function() {
// After "setElement" this doesn't fire anymore.
this.model.set('color', 'green');
},
render: function() {
// After this the "click" listener no longer exists.
this.setElement(this.template(this.model.toJSON());
return this;
}
好點!其實這個解決方案不適用於我的情況。我需要用模板html替換整個元素html,這就是爲什麼我需要使用setElement函數。 –
@QD在頁面中創建一個包裝元素,並將此元素根移動到模板中。 –
對不起,我沒有完全關注。你能給我更多的解釋,這將如何工作? –