javascript – 如何在Angular 2中将路径数据导入App组件

前端之家收集整理的这篇文章主要介绍了javascript – 如何在Angular 2中将路径数据导入App组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的应用程序路由模块中定义了一些路由数据,如下所示:
const appRoutes:Routes = [
  {path: '',component: LoginComponent,data:[{PageName:"Login Page"}]}]

我想全局获取数据,所以我使用app.component.ts来获取URL重定向相关信息,如下所示:

export class AppComponent {
  title = 'Welcome';
  constructor(public router: Router,public authenticationService: AuthenticationService) {
    this.router.events.subscribe(event => {
        console.log("Url",event.urlAfterRedirects);
        console.log("Page Name",router[PageName]); //Not working
      }

我尝试注入ActivatedRoute,但每次重定向后都没有更新.

无论如何,我可以在哪里配置页面名称并在全局app.component.ts中获取它.

解决方法

尝试过滤和循环您的事件而不是订阅
constructor(router:Router,route:ActivatedRoute) {
    router.events
      .filter(e => e instanceof NavigationEnd)
      .forEach(e => {
        this.title = route.root.firstChild.snapshot.data['PageName'];
    });
}

请检查以下工作演示:https://plnkr.co/edit/rBToHRaukDlrSKcLGavh?p=info

猜你在找的JavaScript相关文章