我有一个Backbone应用程序。
在一个区域,有子视图。这些是从Backbone路由器正确路由的。
routes: { primary-view(/:subview): 'someFunction' }
所以我最终得到的网址如:#/primary-view/subview
每当用户点击更改子视图的菜单项时,我都希望保持URL的最新状态。这些点击在主视图中处理,以便当用户单击其中一个链接时,重新呈现的页面的唯一部分是包含子视图的div。
我试过了:
Backbone.history.navigate('#/primary-view/' + subview, {trigger: false});
和
window.location.hash = '#/primary-view/' + subview;
但这两个都会导致整个主视图被重新渲染。
答案 0 :(得分:1)
通常可以使用router.navigate来实现。
每当您在应用程序中找到要保存为URL的点时,请调用导航以更新URL。
在您的情况下,您应从网址中删除哈希
Backbone.history.navigate('/primary-view/' + subview, {trigger: false});
或
router.navigate('/primary-view/' + subview)