我正在使用以下模板语句来确定制表符元素的类:
<li [class.active]="router.url == '/member-view/member-profile/' + routeParamVar">
无论route参数是什么,该类都应该是活动的。但理想情况下,我可以将特定的路由参数放入Router.url语句中。这是这个问题的第一部分,看起来相当直接,但我不知道该怎么做。
我认为,一个复杂因素是该元素位于具有实际路径参数的视图的父模板中。我似乎无法将ActivatedRoute参数分配给组件中的变量,如下所示:
this.uid = this.activeRoute.snapshot.params['uid']
我已经搞砸了使用服务或@ViewChild来从孩子到父母的uid,但还没有完全弄明白。总而言之,我的问题是双重的:
首先,如何将子组件的路径参数分配给父组件中的变量?
其次,我如何将该变量放入模板语句中的Router.url?
答案 0 :(得分:1)
因此我在问题中猜到了在Router.url中引用变量的方法:
[class.active]="router.url === '/member-view/member-profile/' + uid"
我还能够通过以下方式获得孩子的路线参数:
this.activeRoute.firstChild.params
.subscribe(params => {
this.uid = params['uid'];