2017-02-23 72 views
2

我用下面的模板语句以确定类标签元素:角2路由:引用变量Router.url

<li [class.active]="router.url == '/member-view/member-profile/' + routeParamVar"> 

类应积极不管路径参数是什么。但理想情况下,我可以将特定的路由参数放到Router.url语句中。这是这个问题的第一部分,它看起来相当简单,但我不知道该怎么做。

我相信一个并发症是,这个元素在实际路由参数的父视图模板中。它似乎并不像我能够在ActivatedRoute PARAM分配给一个变量在这样的组件:

this.uid = this.activeRoute.snapshot.params['uid'] 

我已经使用服务或@ViewChild摆脱孩子的UID周围乱给父母,但还没有完全弄明白。所以总之我的问题是双重的:

首先,我如何将子组件的路由参数分配给父组件中的变量?

其次,我该如何将该变量放入模板语句中的Router.url中?

回答

1

所以引用变量的Router.url的方式是我在这个问题猜测:

[class.active]="router.url === '/member-view/member-profile/' + uid" 

我也能得到孩子的路线PARAM有:

this.activeRoute.firstChild.params 
.subscribe(params => { 
    this.uid = params['uid'];