多个模型视图中的 Aurelia 路由器配置
Aurelia Router Configuration in Multiple Model-Views
是否可以从多个视图模型配置路由器?
类似下面的内容?
class App {
...
constructor(router) {
this.router.configure(config => {
config.map([{
route: 'home',
moduleId: 'home',
nav: true
}])
})
}
}
更改其他视图模型中的路由器配置:
class SomeOtherPage {
...
constructor(router) {
this.router.configure(config => {
config.map([{
route: 'someOtherPage',
moduleId: 'someOtherPage',
nav: true
}])
})
}
}
来自 aurelia docs:
与 Aurelia 中的所有内容一样,我们强烈支持约定。因此,您实际上可以选择动态路由,而不是预先配置所有路由。以下是配置路由器的方法:
router.configure(config => {
config.mapUnknownRoutes(instruction => {
//check instruction.fragment
//set instruction.config.moduleId
});
});
您只需设置 config.moduleId 属性 即可。您还可以 return 来自 mapUnknownRoutes 的承诺,以便异步确定目的地。
此外,路由器有一个 addRoute
方法,可以在您的情况下稍后添加路由。
是否可以从多个视图模型配置路由器?
类似下面的内容?
class App {
...
constructor(router) {
this.router.configure(config => {
config.map([{
route: 'home',
moduleId: 'home',
nav: true
}])
})
}
}
更改其他视图模型中的路由器配置:
class SomeOtherPage {
...
constructor(router) {
this.router.configure(config => {
config.map([{
route: 'someOtherPage',
moduleId: 'someOtherPage',
nav: true
}])
})
}
}
来自 aurelia docs:
与 Aurelia 中的所有内容一样,我们强烈支持约定。因此,您实际上可以选择动态路由,而不是预先配置所有路由。以下是配置路由器的方法:
router.configure(config => {
config.mapUnknownRoutes(instruction => {
//check instruction.fragment
//set instruction.config.moduleId
});
});
您只需设置 config.moduleId 属性 即可。您还可以 return 来自 mapUnknownRoutes 的承诺,以便异步确定目的地。
此外,路由器有一个 addRoute
方法,可以在您的情况下稍后添加路由。