0

你好stackoverflowers!

点击事件后渲染视图有问题:

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 /table/:id/menus 功能正常但不是仅当我在模板a链接中有点击事件时才打开)

感谢您的回答...问候

4

1 回答 1

1

您忘记通过trigger选项:

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

当然,如果您appBackbone.Router:)的一个实例

于 2013-09-02T14:46:25.703 回答