【发布时间】:2016-10-13 06:56:53
【问题描述】:
我想为我的 Aurelia 应用程序设置一个基本标题值,然后根据活动的路由向它附加一个值。
我的路由器配置是:
export class App {
configureRouter(config, router) {
config.title = 'Brandon Taylor | Web Developer | Graphic Designer';
config.map([
. . .
{ route: 'work', name: 'work', moduleId: 'work', nav: true, title: ' | work' },
. . .
]);
this.router = router;
}
}
Aurelia 想将title 导航参数附加到config.title 的开始,但我想在结束。
我尝试在视图模型中进行覆盖:
export class Work {
activate(params, routeConfig, navigationInstruction) {
routeConfig.navModel.router.title += ' | work';
};
}
但这会导致:
Brandon Taylor | Web Developer | Graphic Designer | work | work | work ...
在每个路由请求上。我究竟做错了什么?或者如何将路由 title 属性附加到 config.title 的 end 而不是开头?
【问题讨论】:
-
更好的问题是为什么激活被调用了三次。
-
@AshleyGrant 我应该使用另一个回调吗?我刚刚开始使用 Aurelia。谢谢。
-
不,您找对地方了。但是,如果一条路线被多次激活,则会出现更大的问题。首先,在您的激活回调中放置一个断点,看看发生了什么以及为什么。
-
@MatthewJamesDavis 关于为什么
activate()会被多次调用,我在寻找什么?如果我在方法本身内部console.log('activate called');,并导航到路线,导航离开并导航回来,我会看到多个日志语句。 -
很难说没有一些代码可以看。你问过gitter频道的人吗? gitter.im/Aurelia/Discuss
标签: javascript aurelia