2016-10-02 33 views
0

我需要一個組件的屬性來設置[queryParams]routerLink,即如何將routerLink queryParams設置爲屬性值?

@Component({ 
    ... 
    template: '<a [routerLink]="..." [queryParams]="queryParams | async">...</a> 
    ... 
}) 
export class MyComponent { 
    ... 
    queryParams: any; 
    ... 
    constructor(route: ActivatedRoute) { 
     this.queryParams = route.queryParams; 
     ... 
    } 
} 

但這種方法是不行的,沒有查詢參數附加到路徑。我錯過了什麼?

+1

'async' pipe真的需要那裏嗎? –

+0

'this.queryParams'有什麼價值? –

+0

這是一個'BehaviorSubject',如果我同意,並登錄到控制檯我得到'對象{原點: 「19-10-2016」} 基準 : 「19-10-2016」 __proto__ : Object' –

回答

-1

可以追加查詢paramerts youing這個正確的語法

this.router.navigate([yourRouteName], {queryParams:{ida:1,Idb:2,Idc:3}}); 

<a [routeLink]="yourRouteName, {queryParams:{ida:1,Idb:2,Idc:3}}" 

,那麼你可以用波紋管語法

import { Router, Route, ActivatedRoute } from '@angular/router';  
ngOnint{ 
     this.IDA= this.router.routerState.snapshot.root.queryParams["Ida"]; 
     this.IDB= this.router.routerState.snapshot.root.queryParams["Idb"]; 
     this.IDC= this.router.routerState.snapshot.root.queryParams["Idc"]; 
    } 

希望收到的查詢參數,這將幫助你。

相關問題