【问题标题】:Angular 7 Get parms of child routeAngular 7获取子路由的参数
【发布时间】:2019-05-16 09:15:44
【问题描述】:

仅从对应的页面组件获取params.get("id"),无法从其他单个组件(headerComponent)获取参数id

//Its worked only correspond component only 

 this.activatedRoute.paramMap.subscribe( params => {
      this.projectName  = params.get("id");
      console.log( this.projectName );
    })



//Tried with these codes

    console.log( this.activatedRoute.children[0].children[1].params['id'] )
    this.activatedRoute.firstChild.params.subscribe(params => {
      let id = +params['id'];
      console.log(id)
    });
console error (line number is where i tried to console in page)
at HeaderComponent.push../src/app/common/header/header.component.ts.HeaderComponent.ngOnInit

结构

<app-header></app-header>
<router-outlet></router-outlet>

app.module.ts
app-routing.module.ts
common/
--header.component.ts
projects/
  component-folder
--projects.module.ts
--projects-routing.module.ts (child route)

另外,是否可以从指令中访问参数?

【问题讨论】:

    标签: angular angular6 angular7 router


    【解决方案1】:

    您想从其他单个组件(headerComponent)访问参数id,使用Router NavigationEnd事件,希望它会给。

    【讨论】:

    • 我能得到一个如何使用这个语法的示例代码
    • import { Router,NavigationEnd } from '@angular/router'; constructor(private route : Router){ route.events.subscribe( e =&gt; { if(e instanceof NavigationEnd){ // code ... } }); }
    • 完美,得到了 url ,但是我怎样才能得到准确的 param.id ?
    • 您可以多使用一个类ActivatedRouteActivatedRouteSnapshot。并使用this._activatedRoute.params.subscribe( param =&gt; { // code .... });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2020-07-30
    相关资源
    最近更新 更多