在Angular 6中,我如何访问app.component.ts中的路由值

时间:2018-11-07 16:43:48

标签: routing angular6

我是angular 6的新手,但是我已经使用angularjs多年了。我试图确定路由并构建应用程序。我希望能够访问app.compnent中的路由值。我在这里有我网站的模板,并且基于路由参数,我需要能够更改主题。我有一个名为modulePath的路由参数,它将始终存在于所有路由中。尽管app.component似乎包含路由器出口,但似乎无法访问路由值。任何帮助,将不胜感激。也许我完全是用错误的方式去做。

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router, NavigationStart, NavigationEnd} from 

'@angular/router';
import { Location } from '@angular/common';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'Ang';
  modulePath: string;
  private sub: any;

  constructor(
    private route: ActivatedRoute,
    router: Router,
    private location: Location
  ) {

  }

  ngOnInit(): void {
    this.sub = this.route.params.subscribe(params => {
      this.modulePath = params['modulePath'];
      console.log(params);
    });
  }
}

1 个答案:

答案 0 :(得分:0)

对于我的特殊问题,我找到了解决方案。我没有意识到您可能在另一个路由器插座已经显示的组件中有一个路由器插座。对我来说,我现在有一条父路径,该路径具有模块名称并设置了站点的主题。

这里是另一个帖子的链接。此处给出的答案显示了如何在路线中进行路线。 Angular 2, RC5 router-outlet inside another router-outlet