如何在渲染新视图之前关闭所有事件
How turn off all events before new view rendering
我有几个视图。在他们中的一些人中,我有类似的事件,比如
events: {
'click #save': 'save'
}
当我创建并呈现新视图时,旧的事件侦听仍然是旧的算法,当我已经更改视图时,它仍然有效。
正如我所知,有一个stopListening()
功能,但我如何才能为以前的所有视图激活。因此,当我更改视图/页面时,我希望禁用以前的所有事件。我该怎么做?
ID是全局的,每页不应该有一个以上。将事件附加到类中。
events: {
'click .save-btn': 'save'
}
此外,确保您在使用完视图后处理它们:
var MyView = Backbone.View.extend({
events: {
'click .save-btn': 'save'
},
...
dispose: function() {
this.unbind();
this.remove();
}
};
var view = MyView();
...
view.dispose();
干杯。
尝试使用el
。
var MyView = Backbone.View.extend({
el: '#wrapper_of_save_element',
events: {
'click #save': 'save'
},
save: function() {
...
}
});
因此,您的事件仅在#wrapper_of_save_element(例如,wrapper-div)中
http://backbonejs.org/#View-el
相关文章:
- $routeParams在传递到新视图时未定义&控制器
- 如何在渲染新视图之前关闭所有事件
- 从Backbone中的另一个视图调用新视图
- Angular2 在创建 ngSwitch 新视图后调用自定义函数
- 键按下事件新值
- 主干新视图反映旧模型数据
- 创建新视图时调用呈现函数
- 离子替换新视图的选项卡和页脚
- YII:如何将参数列表从js传递到控制器,并通过传递另一个列表来调用新视图
- AngularJS-关闭tile并从ngRepeat指令AngularJS中的模型加载新视图
- FullCalendar没有'不要添加任何事件(周视图、议程视图)
- 美元AngularJs http.post不渲染新视图
- Angular UI Router新视图,相同的URL
- 集合添加事件在视图初始化时触发
- AngularJS:在Promise被解析后,为新视图操作DOM
- 骨干模型有条件地触发事件,视图没有听到它
- 骨干移除和新视图不会重置其属性数组内容
- 尝试将数据加载到新视图中
- 我无法让Backbone.js事件在视图位于Fancybox中时触发
- 将js变量传递给控制器并在ci中构建新视图