我settings
在 shell.js 中配置了 splat 路由:
router.map([
{ route: 'settings*child', moduleId: 'views/settings/main', nav: true }
]).buildNavigationModel();
在views/settings/main.js
文件中我创建了子路由器:
var childRouter = router.createChildRouter().makeRelative({
moduleId: 'views/settings',
fromParent: true
}).map([
{ route: 'users', moduleId: 'child/users/list', nav: true },
{ route: 'users/:id', moduleId: 'child/users/view', nav: false },
]).buildNavigationModel();
文件夹结构如下所示:
/views
-/settings
--settings.js
--settings.html
--/child
---/users
----list.js
----list.html
----view.js
----view.html
我面临的问题是:
当我尝试从另一个父路由页面导航到设置(#settings)页面时,它会在控制台中显示一条错误消息:
Route Not Found settings undefined
但是设置页面仍然显示我创建的所有子路由器列表。
接下来,我尝试导航到#settings/users
and#settings/users/{id}
并且它可以正常工作,即使从另一个父页面尝试它也是如此。
我认为问题是 splat route 总是期望在散列前面有类似的东西,没有孩子#settings/users
它不会接受?#settings
或者我在执行过程中遗漏了一些东西?
任何帮助或建议将不胜感激!
谢谢!