我使用以下模板语句来确定选项卡元素的类:
<li [class.active]="router.url == '/member-view/member-profile/' + routeParamVar">
无论路由参数是什么,类都应该是事件的。但理想情况下,我可以将特定的路由参数放入 Router.url 语句中。这是这个问题的第一部分,看起来很简单,但我不确定该怎么做。
我认为,一个复杂的问题是该元素位于具有实际路由参数的 View 的父模板中。似乎我无法像这样将 ActivatedRoute 参数分配给组件中的变量:
this.uid = this.activeRoute.snapshot.params['uid']
我一直在使用服务或@ViewChild 将 uid 从子项获取到父项,但还没有完全弄明白。所以总而言之,我的问题是双重的:
首先,如何将子组件的路由参数赋值给父组件中的变量?
其次,如何将该变量放入模板语句中的 Router.url 中?
最佳答案
所以在 Router.url 中引用变量的方式就像我在问题中猜测的那样:
[class.active]="router.url === '/member-view/member-profile/' + uid"
我还能够通过以下方式获取 child 的路由参数:
this.activeRoute.firstChild.params
.subscribe(params => {
this.uid = params['uid'];
关于javascript - Angular 2 路由 : Referencing Variable in Router. url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42407305/