0

在渲染一个主干视图后,我注入了用 jQuery 生成的 HTML。此 HTML 还包括应用程序内的链接。如果您单击这些链接,它们会重新加载该站点。

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

4

1 回答 1

3

您必须将 click 事件绑定到这些链接并调用Router.navigate. 从您的事件处理程序中获取您很重要,return false因为这将阻止浏览器实际跟踪链接。另一件重要的事情是传递trigger: true实际让您的路由器执行(否则它只会更改地址栏中显示的 url)。

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

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

此外,如果它包含协议、域等,您可能需要稍微调整一下href……例如,如果您href可能http://mydomain.com/mypage只需要传递mypage给路由器。

于 2013-07-22T09:08:36.817 回答