Definir uma rota "relacionada" como ativa em Aurelia

Eu tenho duas rotas no meu aplicativo Aurelia, uma lista (Trabalho) e um detalhe (WorkDetail).

Na navegação, só tenho a rota da lista:

Home  |  *Work*  |  Contact  |  . . .

Ao navegar para a visualização Detalhes do trabalho, gostaria de definir a rota de trabalho como ativa na navegação.

O que eu tentei até agora é definir a rota ativa noactivate() retorno de chamada doWorkDetail visualizar e inativo emdeactivate():

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;
    };
}

O problema que estou enfrentando é que, na primeira ativação, o item de navegação "Trabalho" não é exibido como "ativo". Se eu navegar para outro WorkItem, ele será definido como "ativo".

Por que esse item de navegação é definido apenas como ativo em uma ação de navegação subsequente? ou, existe uma maneira melhor de definir um item de navegação pai / relacionado como "ativo"?

Aqui está o meu app.js se você estiver interessado:https://gist.github.com/alsoicode/37c5699f29c7562d2bf5

questionAnswers(1)

yourAnswerToTheQuestion