【发布时间】:2012-07-09 15:44:54
【问题描述】:
在我的路由器中,我指定了路由器“#”来调用索引函数。这在应用程序加载时第一次起作用。但是在导航离开然后返回后,视图不再呈现。这是我的路由器:
CommunityApp.Routers.Main = Backbone.Router.extend({
routes: {
'': 'index',
'#': 'index',
},
initialize: function () {
this.communities = new CommunityApp.Collections.Communities();
this.communities.fetch();
},
index: function() {
console.log('index called');
view = new CommunityApp.Views.CommunitiesIndex({collection: this.communities});
$('#main').html(view.render().el);
}
});
我看到该函数被调用是因为它记录了“索引调用”。但是,该视图仅在我第一次导航到 localhost:3000/# 时才呈现。如果我单击返回“#”的其他位置,该函数会被调用,但 CommunitiesIndex 视图永远不会插入到 DOM 中。
谢谢
【问题讨论】:
-
不知道它是否能解决你的问题,但你不在你的路线中使用'#';每个路由都是在“#”之后发生的,因此“#”路由映射到
http://domain.com/##的 URL。 -
所以默认情况下,它应该只是''吗?
-
是的,你的默认路由应该是
''