当前位置:  开发笔记 > 前端 > 正文

Angular 2,从不为实现OnActivate的组件调用routerOnActivate方法

如何解决《Angular2,从不为实现OnActivate的组件调用routerOnActivate方法》经验,为你挑选了1个好方法。

我正在尝试使用Angular 2路由器记录当前路由,使用官方文档中的示例代码: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: `
routerOnActivate: {{log}}
`}) 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']}
])

我还应该在路由器中配置其他东西以激活侦听器吗?



1> Langley..:

您需要在解析路径的组件中实现routerOnActivate方法.在您的示例中,如果您在Home Component中实现它,它将被调用.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有