我的“视图”设置如下。简单。
var ItemView = Backbone.View.extend({
tagName : "li",
events : {
"click" : "display"
},
display : function() {
//app.navigate('item'); // take me to my route!
}
});
我有我的路由器
var App = Backbone.Router.extend({
routes: {
"" : "index",
"item" : "view_item"
},
index: function() {
alert('hi!');
},
view_item: function() {
alert('bye!');
}
});
app = new App();
Backbone.history.start();
现在,当我点击ItemView时,它应该运行“display”方法,我希望display方法将我带到我在路径“item”中指定的路径。
这可能吗?我认为“导航”功能会起作用,但事实并非如此。我怎么能做到这一点?
答案 0 :(得分:49)
display : function() {
app.navigate('item', true);
}
您需要将第二个参数设置为true。
来自Backbone文档:
navigaterouter.navigate(fragment,[triggerRoute]) 每当您在应用程序中找到要保存为URL的点时,请调用导航以更新URL。如果您还想调用路由功能,请传递triggerRoute。
答案 1 :(得分:0)
如果您正在使用"或者您可以直接从html执行此操作。 a>"标签
示例:
<a href="#item">Show Itens</a>
它也有效,我当然可以这样做。