typescript - Angular2 RC4 路由器 : Get the RouteConfigs "data"-Property from Router-Events Subscription in a Service

标签 typescript angular angular2-routing

使用 Angular2 的新 RC4-Router (3.0.0-beta.2),我有以下 Route-Setup:

export const Routes: RouterConfig = [
    {
        path: 'account',
        pathMatch: 'prefix',
        canActivate: [
            AppAuthGuard
        ],
        children: [
            {
                path: 'create',
                component: AccountRegistration,
                data: {
                    'title': 'Create an Account'
                }
            },
            {
                path: 'login',
                component: AccountLogin,
                data: {
                    'title': 'Log into your Account'
                }
            }
        ]
    }
];

可以打开路由。但是我有一个全局服务,它应该从路由“数据”属性的“标题”属性设置 AppComponent 中的标题。所以我订阅了 router.events-Observable:

this.router.events.subscribe(value => {

    if (value instanceof NavigationEnd) {

       console.log(this.router.routerState.snapshot.root.data['title']);
    }
}

但是想要获得称号是不可能的。这甚至有可能吗?我是否应该能够获得这样的路线信息?有人给我举个例子吗?

最佳答案

可以像这样直接订阅数据

class HeroDetailComponent {
  ngOnInit() {
    this.sub = this.route
      .data
      .subscribe(v => console.log(v));
  }

  ngOnDestroy() {
    this.sub.unsubscribe();
  }
} 

关于typescript - Angular2 RC4 路由器 : Get the RouteConfigs "data"-Property from Router-Events Subscription in a Service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38206488/

相关文章:

javascript - TypeScript 说 'Object is possibly null' 即使我明确设置它

Angular 2路由器不解析子辅助路由

javascript - AngularFire2错误 "ReferenceError: firebase is not defined"

javascript - 在新路由器上使用订阅功能时出现 Angular 2 typescript 错误 (rc 1)

javascript - Angular 按钮颜色随条件变化

typescript - 为什么我不能在 array ionic 3 中获得完整的 base64 字符串?

typescript - 交叉口没有正确缩小并集

文档中的 Angular FireStore 集合

angular - routerLink 的相对链接/部分路由

angular - 根据条件使用 routerlink 或 href