Backbone View注入链接重新加载站点

时间:2013-07-22 07:40:38

标签: backbone.js backbone-views backbone-routing

渲染Backbone View后,我注入了用jQuery生成的HTML。此HTML还包括应用程序中的链接。如果单击这些链接,则会重新加载该站点。

如何绑定这些链接以便它们触发路由器并且不重新加载网站?

1 个答案:

答案 0 :(得分:3)

您必须将点击事件绑定到这些链接并致电Router.navigate。来自事件处理程序的return false非常重要,因为这会阻止borwser实际关注链接。另一个重要的事情是通过trigger: true实际让您的路由器执行(否则它只会更改地址栏中显示的URL)。

events : {
    'click a.changeView' : 'changeView'
},

changeView : function(e) {
    Router.navigate(e.target.href, { trigger: true });
    return false;
}

此外,如果您的href包含协议,域名等,则可能需要稍微调整一下......例如,如果您的hrefhttp://mydomain.com/mypage,则可能只需要通过mypage到路由器。