【发布时间】:2015-11-06 18:45:56
【问题描述】:
我在我的项目中遇到了一种情况,我需要构建一条通往当前范围之外定义的路线的路线。假设我有以下路由设置
/
/cars
/cars/buy
/cars/sell
/bikes
/bikes/buy
/bikes/sell
现在,在我的默认路由上,我定义了 3 条路线 /、/cars 和 /bikes。当 /cars 被激活时,我将 /sell 和 /buy 附加到当前路线定义中。现在,当用户在 /cars/buy 内时,我想添加一个链接,例如“您更喜欢购买自行车吗?”并链接到 /bikes/buy。
买入/卖出之间的切换由
完成router.navigateToRoute('buy');
和
router.navigateToRoute('sell');
在相应的视图模板中。
所以我有点想找一些可以让我做的事情
router.navigateToRoute('bikes);
router.navigateToRoute('buy');
一步到位。
【问题讨论】:
-
你不能给路线起个名字吗?自行车/购买路线可以有一个名为“buyBikes”的名称,然后您可以导航到该名称,例如 router.navigateToRoute('buyBikes); (ps要给路由命名,只需在设置路由时添加一个名称属性)
-
问题是自行车的购买路线直到 /bikes 路线被激活后才会被宣布。所以从技术上讲,这条路线还不存在。
-
你可以在 app.js 中声明路由吗?
-
当然,但这会破坏使用子路由器的目的,因为我希望在我的项目中使用子路由器,因为路由层次很深。
-
是的。我自己也想知道这一点。如果你能解决这个问题,我很想知道它是如何完成的。 gitter 频道也非常适合提问,可能值得在那里提问。
标签: aurelia