是否可以在顺序未知的情况下设置具有动态段的路由器?
我正在开发一个 SPA,其中两个主要组件是搜索窗格和内容窗格。在内容窗格中,您可以浏览链接,新内容将加载到内容窗格中。
您还可以在搜索窗格中搜索并显示结果列表。单击搜索结果将更新内容窗格。除了这些要求之外,用户还需要能够单击命名锚链接并滚动到内容中的特定位置。
原来的路由器是这样的:
App.Router.map(function() {
this.route('index', {path: '/'});
this.resource('page', {path: 'page/:page_id'}, function() {
this.resource('anchor', {path: 'anchor/:anchor_id'});
this.resource('search', {path: 'search/:search_id'});
});
});
这个路由器的问题是我可以拥有/page/foo、/page/foo/anchor/001和/page/foo/search/terms但我不能拥有/page/foo/search/terms/anchor/001。随着应用程序的增长,将需要添加更多路线。页面路由将始终存在,但任何其他路由都是可选的。
我希望有一种方法可以增加我没有看到的路由器的灵活性。