Я пытаюсь зарегистрировать текущий маршрут с помощью Angular 2 Router, используя пример кода из официальной документации: https://angular.io/docs/ts/latest/api/router/OnActivate-interface.html
import {Component} from 'angular2/core';
import {
OnActivate,
ComponentInstruction
} from 'angular2/router';
@Component({selector: 'header-title', template: `<div>routerOnActivate: {{log}}</div>`})
export class HeaderTitle implements OnActivate {
log: string = '';
routerOnActivate(next: ComponentInstruction, prev: ComponentInstruction) {
console.log('hello on activate');
this.log = `Finished navigating from "${prev ? prev.urlPath : 'null'}" to "${next.urlPath}"`;
}
}
Метод routerOnActivate
никогда не вызывается.
Я настроил маршруты, используя аннотацию RouteConfig
:
@RouteConfig([
{path: '/', component: Home, name: 'Index', data: {title: 'Index page'}},
{path: '/home', component: Home, name: 'Home', data: {title: 'Welcome Home'}},
{path: '/**', redirectTo: ['Index']}
])
Есть ли что-то еще, что я должен настроить в маршрутизаторе, чтобы активировать слушателей?
implement
здесь не важна. Подгружается лиHeaderTitle
через роутинг? В противном случае это не сработало бы. - person Eric Martinez   schedule 10.01.2016{path: '/', component: Home, name: 'Index', data: {title: 'Index page'}}
? В настоящее время он загружается через директиву<header-title></header-title>
, содержащуюся в шаблоне компонента Home. - person geraldpereira   schedule 10.01.2016implement
предназначена только для того, чтобы помочь вам с вводом текста, чтобы среда IDE не жаловалась. Чтобы быть уверенным, добавьтеrouterOnActivaite
в свой компонентHome
и посмотрите, вызывается ли он вообще. - person Eric Martinez   schedule 10.01.2016