Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 单击事件并导航到新地址后的主干js视图未更改_Backbone.js_Underscore.js_Navigateurl - Fatal编程技术网

Backbone.js 单击事件并导航到新地址后的主干js视图未更改

Backbone.js 单击事件并导航到新地址后的主干js视图未更改,backbone.js,underscore.js,navigateurl,Backbone.js,Underscore.js,Navigateurl,你好,飞越者 单击事件后,我对“渲染视图”有问题: var TablesView = Backbone.View.extend({ events: { "click li" : "openMenuItem" }, openMenuItem: function(e){ currentLink = $(e.currentTarget); tableId = currentLink.data('table_id');

你好,飞越者

单击事件后,我对“渲染视图”有问题:

var TablesView = Backbone.View.extend({       

    events: {
      "click li" : "openMenuItem"
    },

    openMenuItem: function(e){
      currentLink = $(e.currentTarget);
      tableId = currentLink.data('table_id');
      app.navigate("table/" + tableId + "/menus");
      console.log("table/" + tableId + "/menus");
    },  

        initialize:function () {
        this.render();
    },
    render:function () {
        var that = this;
        var tables = new Tables();
        tables.fetch({
            success: function (tables) {
            var template = _.template($('#table-template').html(), {tables: tables.models});
              that.$el.html(template);
            }
        })
    }             
});
因此,当我单击我的
li
时,我的地址栏中有一个正确的地址,但视图没有改变,只有当我单击地址栏并按enter键时。。。(我的url/表格/:id/菜单功能正常,但仅当我在模板中有
a
链接时,才使用单击事件打开)

谢谢你的回答。。。
关于

您忘记传递
触发器
选项:

app.navigate("table/" + tableId + "/menus", true); // or
app.navigate("table/" + tableId + "/menus", {trigger:true});

当然,如果你的
应用程序
主干网路由器的一个实例
:)

,但当我返回时,功能不起作用。。。你不知道为什么?谢天谢地,有一个问题复制的JSFIDLE会很好。因为我不知道什么和为什么不工作。