【问题标题】:Angular 2 Routing: Referencing Variable in Router.urlAngular 2 路由:Router.url 中的引用变量
【发布时间】:2017-02-23 04:51:52
【问题描述】:

我正在使用以下模板语句来确定选项卡元素的类:

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

无论路由参数是什么,该类都应该处于活动状态。但理想情况下,我可以将特定的路由参数放入 Router.url 语句中。这是这个问题的第一部分,看起来很简单,但我不知道该怎么做。

我认为,复杂之处在于,该元素位于视图的父模板中,并带有实际的路由参数。我似乎无法将 ActivatedRoute 参数分配给组件中的变量,如下所示:

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

我已经搞砸了使用服务或@ViewChild 将 uid 从孩子获取到父母,但还没有完全弄清楚。所以总而言之,我的问题是双重的:

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

其次,我怎样才能在模板语句中将该变量放入Router.url?

【问题讨论】:

    标签: javascript angular angular2-routing angular2-template


    【解决方案1】:

    所以在Router.url中引用变量的方式就是我在问题中猜到的:

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

    我还能够通过以下方式获取孩子的路线参数:

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

    【讨论】:

      猜你喜欢
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      相关资源
      最近更新 更多