2016-06-17 4 views
34

クエリパラメータprop=xxxを渡したいとします。新しいルータV 3 alpha(vladivostok)のrouterLinkでクエリパラメータを渡す方法

これは

<a [routerLink]="['/somepath', {queryParams: {prop: 'xxx'}}]>Somewhere</a> 
+0

使用する構文は、行列のパラメータであり、これは形式「Somewhere」です。これは、行列URLパラメータ(セミコロン;の代わりに ? &separator)にアクセスし、ActivatedRoute.paramsでこれにアクセスできます.Route.queryParams 詳細はこちら http://stackoverflow.com/questions/35688084/how-get-query-params-from-url-in-angular2 ここをクリック http://stackoverflow.com/questions/2048121/url-matrix-parameters-vs-request-parameters –

+1

クエリパラメータと行列パラメータは同じです。唯一の違いは、ルートセグメントに追加され、クエリパラメータとしてシリアル化され、子セグメントに追加されるときにマトリックスパラメータとしてシリアル化される点です。 –

+0

いくつかの相違点があります これをチェックしてくださいhttp://web.archive.org/web/20130126100355/http://brettdargan.com/blog/2009/01/16/query-vs-matrix-params また、角度のdocのリンクパラメータの構文 https://angular.io/docs/ts/latest/guide/router.html#!#link-parameters-array –

答えて

73

queryParams

queryParamsは、彼らが

<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}">Somewhere</a> 

のように渡すことができるrouterLinkの別の入力で動作しませんでした3210

<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}" [fragment]="yyy">Somewhere</a> 

routerLinkActiveOptions

も親のルートに設定されたルートのアクティブなクラスを取得するには:this.router.navigate(...)使用にクエリパラメータを渡すには

[routerLinkActiveOptions]="{ exact: false }" 

let navigationExtras: NavigationExtras = { 
    queryParams: { 'session_id': sessionId }, 
    fragment: 'anchor' 
}; 

// Navigate to the login page with extras 
this.router.navigate(['/login'], navigationExtras); 

関連項目https://angular.io/guide/router#query-parameters-and-fragments

+0

これはプログラムでどのように機能しますか? 私はthis.router.navigate(['/ resetPassword'、{queryParams:{username:loginName}}]);を試しました。しかし結果は次のとおりです。http:// localhost:8100/resetPassword; queryParams =%5Bobject%20Object%5D – rickul

+2

私の答えは更新されました。私が加えたリンクも見てください。それは完全な例を示しています。 –

関連する問題