Aurelia carrega rotas dinamicamente / a partir da busca

Quero carregar as opções do menu dinamicamente. então eu estou querendo saber a melhor abordagem

Consigo usar o código abaixo para adicionar rotas após o carregamento da página. Isso funciona para navegação normal, mas não funciona durante uma atualização.

O roteador configurado pode retornar uma promessa / como carregar itens de menu na rota?

 @inject(HttpClient)
 export class DocumentMenu {
  router: Router;
  documents : IDocument[];
  heading = 'Document Router';

  constructor(public http: HttpClient) {}

 activate(): void {

    this.http.fetch('http://localhost:17853/Document/GetDocuments?folderID=13244')
      .then<IDocument[]>(response => response.json())
      .then<IDocument[]>(docs => {    
      if ( docs ){
        for( var doc of docs){
          this.router.addRoute( { route : doc.DocumentID.toString(), name : doc.Name, moduleId: './documents/document', nav:true, title: doc.Name });
        }
        this.router.refreshNavigation();
      }
      return docs;
    });

 }

configureRouter(config: RouterConfiguration, router: Router) {

  var routes = new Array();
  routes.push( 
  { route: 'index', name: 'index-name', moduleId: './documents/index', nav: false, title: 'Documents' } );
  routes.push(       { route: '', redirect: 'index' } );

  config.map( routes );
  this.router = router;
}
}

questionAnswers(4)

yourAnswerToTheQuestion