在我的backbone.js应用程序中,我希望能够触发一个简单的链接。
<a href=/logout">Log Out</a>
现在我将它与路由器一起使用:
logout: function() {
window.location = '/logout';
}
是否可以直接从html调用此链接,就像普通链接一样?作为通知,路由器已启用pushState。
答案 0 :(得分:2)
我喜欢来自backbone-boilerplate项目的解决方案 - https://github.com/backbone-boilerplate/backbone-boilerplate/blob/master/app/main.js#L22
答案 1 :(得分:2)
这实际上是关于如何将您的活动附加到<a>
代码。最简单的方法是将rel="external"
添加到您不希望它们触发骨干路由器的链接。类似的东西:
$('body').on('click', 'a[href][rel!="external"]', function(e){
app_router.navigate($(this).attr('href'), {trigger: true});
e.preventDefault();
});
将您的HTML修改为:
<a href=/logout" rel="external">Log Out</a>