有没有办法在Aurelia 1.1.2中使用route-href构建跨文件夹路由?

时间:2017-04-16 18:39:14

标签: aurelia aurelia-router aurelia-framework

目前,我的文件夹结构如下:

D:.
|   app.html
|   app.js
+---calendars
|       calendar-router.html
|       calendar-router.js
|       details.html
|       details.js
|
+---organizations
|       service.js
|
\---users
        details.html
        details.js
        users-router.html
        users-router.js

我想在 calendars / details.html 文件中为 users / details.html 文件创建 href 链接。< / p>

<a route-href="route: userDetails; params.bind: { id: calendar.owner.id }">details</a>

我的users-router.js有此条目。

 { route: 'details/:id', name: 'userDetails', moduleId: './details', title: 'User details', href: 'details/:id' }

但不知何故,我无法这样做,并且收到错误 [route-href]错误:名称为&#39; userDetails&#39;无法找到。检查路由的配置中是否已指定name: 'userDetails'

我尝试在 calendar / details.js 中注入 app.js users-router.js 路由器,我可以看到 AppRouter 已填充,但 UsersRouter 不是。

我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您获得未知路由名称的原因是因为Aurelia并不急于加载子路由器。

app.js中的AppRouter不会确认子路由器,直到导航到用户路由为止。

最简单的解决方案是在app.js中包含路线。那么你现有的route-href就可以了。

您可以在github上查看此问题以获取其他一些解决方案。 https://github.com/aurelia/router/issues/90