Установка «связанного» маршрута как активного в Аурелии
У меня есть два маршрута в моем приложении Aurelia, список (Work) и деталь (WorkDetail).
В навигации у меня есть только список маршрутов:
Home | *Work* | Contact | . . .
Когда я перехожу к представлению WorkDetail, я хотел бы установить рабочий маршрут как активный в навигации.
То, что я пробовал до сих пор, это установить активный маршрут вactivate()
обратный вызовWorkDetail
просматривать и не активироватьdeactivate()
:
import {inject} from 'aurelia-framework';
import {Router} from 'aurelia-router';
@inject(Router)
export class WorkDetail {
constructor(router) {
this.workRoute = router.routes[2].navModel;
};
activate(params, routeConfig, navigationInstruction) {
this.workRoute.isActive = true;
};
deactivate() {
this.workRoute.isActive = false;
};
}
Проблема, с которой я сталкиваюсь, заключается в том, что при первой активации элемент навигации «Работа» не отображается как «активный». Если я перейду к другому WorkItem, он будет установлен как «активный».
Почему этот элемент навигации активируется только при последующих действиях навигации? или есть ли лучший способ установить родительский / связанный элемент навигации как «активный»?
Вот мой app.js, если вам интересно:https://gist.github.com/alsoicode/37c5699f29c7562d2bf5