Javascript 主干视图:函数执行多次
我正在运行一个主干脚本,在这个脚本中,我可以在视图之间来回切换。 使用带有简单路由器导航脚本的“下一步”和“上一步”按钮 在步骤1的视图中,我使用此脚本转到下一页:Javascript 主干视图:函数执行多次,javascript,jquery,backbone.js,backbone-views,backbone-routing,Javascript,Jquery,Backbone.js,Backbone Views,Backbone Routing,我正在运行一个主干脚本,在这个脚本中,我可以在视图之间来回切换。 使用带有简单路由器导航脚本的“下一步”和“上一步”按钮 在步骤1的视图中,我使用此脚本转到下一页: nextStep: function() { //get referrerTypes OF.getReferrerTypes(); OF.getClinics(); OF.router.navigate('step/2', {trigger: true}); } 现在我的问题来了。当我导航到步
nextStep: function() {
//get referrerTypes
OF.getReferrerTypes();
OF.getClinics();
OF.router.navigate('step/2', {trigger: true});
}
现在我的问题来了。当我导航到步骤/2并返回到步骤/1时(也是router.navigate)
不知何故,步骤/1中的函数加载了两次
因此,当我第二次执行步骤/2时,函数会运行nextStep函数两次。
或者当我第二次来回时,它会运行下一步函数三次
我试图通过在路由器中执行step1view.remove来修复此问题。
我甚至做了一个移动。然而,这根本没有帮助
下面是加载视图的路由器中的脚本
goToStep1: function() {
require(['./models/step1Model', './views/step1View'],function(Step1Model, Step1View) {
if (step1View) {
step1View.remove();
delete step1View;
}
step1View = new Step1View;
step1View.render();
});
}
有人能帮忙吗?
我真的只需要运行一次函数
提前谢谢 尝试取消委派事件:
step1View.remove();
step1View.undelegateEvents();
为什么不在不删除或重新实例化的情况下再次调用step1View.render()?