web-dev-qa-db-ja.com

クエリパラメータをURL Angular2に設定する方法は?

/Questions?id=1234&pageid=0などのクエリパラメータでURLを設定する必要があります。私はrouter.Navigate['/Questions?id=1234&pageid=0']を介してそれをやろうとしましたが、運はありません。

ナビゲーションブラウザが/Questions%3Fid%3D1234%26pageid%3D0のように表示した後。

routerLink="/Questions?id=1234&pageid=0"を設定して試してみましたが、結果は同じです。

私はangular2rc5を使用しています。

22
amit_chauhan

次のように、ルーターリンクとクエリパラメーターを別々に指定することで、1つの解決策を見つけました。

<a [routerLink]="['/Questions']" [queryParams]="{id:1234,page:1}"></a>

これは私にとってはうまく機能しています。

15
amit_chauhan

これらをルーターのアイテムとして渡すことができますが、コマンド配列の外側にあります。

_[routerLink]="["/Questions"], {queryParams: {id:1234, pageid:0}}"_

これにより、必要なものが生成されます:_/Questions?id=1234&pageid=0_

または、プログラムで使用できます:

this.router.navigate(['/Questions'], { queryParams: {id:1234, pageid:0} })

ルーターが_@angular/router_のRouterのインスタンスである場合

22
Pstr

これらをルーターコマンド配列のアイテムとして渡すことができます。

[routerLink]="['/Questions'] [queryParams]="{id:1234, pageid:0}} ]"

https://angular.io/docs/ts/latest/guide/router.html#!#query-parameters も参照してください

6

router.navigateを更新する必要があります

this.router.navigate(['/Questions', {id: 1234, pageid: 0}]);
2
Volodymyr Khmil