Javascript 主干视图:函数执行多次

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}); } 现在我的问题来了。当我导航到步

我正在运行一个主干脚本,在这个脚本中,我可以在视图之间来回切换。 使用带有简单路由器导航脚本的“下一步”和“上一步”按钮

在步骤1的视图中,我使用此脚本转到下一页:

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()?