2017-02-23 111 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'];