Backbone.js点击事件处理程序:带参数的触发器路由



我想在用户单击按钮时将其重定向到另一个页面。这是代码:

模板:

<button type="button" id="edit-button">Edit</button>

路由器:

App.Router.Accounts = Backbone.Router.extend({
    routes: {
        'accounts/:accountID/audience/edit' : 'editAudience'
    }
});

视图:

router: new App.Router.Accounts(),
events: {
    "click #edit-button": "redirectToEdit"
},
redirectToEdit: function(){
    url = "accounts/"+this.account_id+'/audience/edit';
    this.router.navigate(url, {
        trigger: true,
        replace: true
    });
}

但我得到了错误:

Uncaught TypeError: Cannot use 'in' operator to search for 'model' in foo123

其中foo123是帐户id。

我做错了什么?

如果您想更改URL,可以使用Router.navigate方法:

App.Router.navigate(url, {
    // trigger: true/false,
    // replace: true/false
});

请注意,字符串串联中缺少一个/

最新更新