使用 Aurelia 路由器,如何定义到同一视图的两条路由?
Using the Aurelia router, how do I define two routes to the same view?
我有一个子路由器。比方说它是用来制作精美的水果的。在该子路由器中,我想使用 RouteConfig nav: true 定义特定水果的路由,这些水果将显示在导航中:
config.map([
{ route: [":fruit"], name: "AppleFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Apples are yum!", layoutModel: { fruit: "Apple" } },
{ route: [":fruit"], name: "LemonFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Lemons are for booze!!", layoutModel: { fruit: "Lemon" } }
]);
具体来说,我想这样做是因为页面上的导航元素依赖于此子路由器中的其他路由,我希望这些元素与其他导航元素一起出现在导航中。我的想法是 layoutModel 会被传递到 fruity-fruit-fruit 中的 activate 参数,但它在到达那个点之前就爆炸了。
这可能吗,或者我做错了什么?
正如经常发生的那样,我找到了答案。我的问题是我使用的是 layoutModel 而不是仅仅指定 href。应该是:
config.map([
{ route: [":fruit"], name: "AppleFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Apples are yum!", href: "/fruits/Apple" },
{ route: [":fruit"], name: "LemonFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Lemons are for booze!!", href: "/fruits/Lemon" }
]);
我有一个子路由器。比方说它是用来制作精美的水果的。在该子路由器中,我想使用 RouteConfig nav: true 定义特定水果的路由,这些水果将显示在导航中:
config.map([
{ route: [":fruit"], name: "AppleFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Apples are yum!", layoutModel: { fruit: "Apple" } },
{ route: [":fruit"], name: "LemonFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Lemons are for booze!!", layoutModel: { fruit: "Lemon" } }
]);
具体来说,我想这样做是因为页面上的导航元素依赖于此子路由器中的其他路由,我希望这些元素与其他导航元素一起出现在导航中。我的想法是 layoutModel 会被传递到 fruity-fruit-fruit 中的 activate 参数,但它在到达那个点之前就爆炸了。
这可能吗,或者我做错了什么?
正如经常发生的那样,我找到了答案。我的问题是我使用的是 layoutModel 而不是仅仅指定 href。应该是:
config.map([
{ route: [":fruit"], name: "AppleFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Apples are yum!", href: "/fruits/Apple" },
{ route: [":fruit"], name: "LemonFruit", moduleId: PLATFORM.moduleName("./fruity-fruit-fruit"), nav: true, title: "Lemons are for booze!!", href: "/fruits/Lemon" }
]);