【发布时间】:2017-11-14 23:54:37
【问题描述】:
我希望message 在我的应用程序的所有页面中持续存在,并在视图模型和视图有界之后设置。每个页面我都有一个非常简单的模板。
<template>
<h1>${message}</h1>
</template>
每个页面('Page1'、'Home'、'Page2')后面的代码都是空的。 这是我的 app.js
import {inject} from 'aurelia-framework';
export class App {
configureRouter(config, router) {
config.title = 'Pathways';
config.map([
{ route: ['','home'], name: 'home', moduleId: 'home', nav: true, title:'Home' },
{ route: 'page1', name: 'page1', moduleId: 'page1', nav: true, title:'Page1' }
]);
// Create a binding to the router object
this.router = router;
}
attached() {
this.message = this.router.currentInstruction.config.title;
}
}
问题是,当我第一次加载应用程序时。 ${message} 为空白。然后,当我导航到 page1 时,消息变为 Home !我认为可能是 currentInstruction 落后了,所以我添加了另一个页面。 Page2 如果你愿意,但事实证明无论我在第一次导航后做什么,message 始终是 Home
所以在应用初始化时message 是空白的,然后在第一次导航时message 将保持Home 的全部。
我的问题是,获取用户当前所在页面的标题的“Aurelia”方式是什么?我认为在每个页面上注入路由器的成本很高
【问题讨论】: