Я хочу, чтобы message
сохранялся на всех страницах моего приложения и устанавливался после ограниченного просмотра модели и представления. На каждой странице у меня очень простой шаблон.Как получить заголовок текущей конфигурации маршрутизатора Aurelia
<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}
пусто. Затем, когда я перехожу к странице 1, сообщение становится Home
!! Я думал, что, может быть, currentInstruction отстает, поэтому я добавил еще одну страницу. Page2
, если хотите, но это не получается, независимо от того, что я делаю после первого мореплавания message
всегда Home
Так при инициализации приложения message
пустым, а затем, после первой навигации message
останется Home
для полноты.
Мой вопрос: что такое «Aurelia», чтобы получить название каждой страницы, на которой в данный момент находится пользователь? Я думаю, инъекционные маршрутизатор на каждой странице является дорогостоящим
Возможный дубликат [Глобальное состояние приложения в Аурелии] (http://stackoverflow.com/questions/31210597/global-application-state-in-aurelia) –