简体   繁体   English

Angular 2 routerLink 参数和查询参数

[英]Angular 2 routerLink params & query params

Here is my route:这是我的路线:

{ path: 'market/:currency', component: MainlayoutComponent, canActivate: [AuthGuard]}

I want redirect to with query params like this:我想使用这样的查询参数重定向到:

market/btc?sidebar=home市场/btc?sidebar=home

<a [routerLink]="['/market', currency]" [queryParams]="{sidebar: 'home'}"></a>

But when i click its redirect market/btc但是当我点击它的重定向市场/ btc

What's the problem.有什么问题。

Editing编辑

This code works i have another bug but i solved.这段代码有效,我有另一个错误,但我解决了。

you just need to preserve your queryParams :你只需要保留你的 queryParams :

queryParamsHandling="preserve"

Add the above attribute/directive to your route :将上述属性/指令添加到您的路线:

<a [routerLink]="['/market', currency]" [queryParams]="{sidebar: 'home'}" queryParamsHandling="preserve"></a>

you can try:你可以试试:

<a [routerLink]="'/market/'+ currency" [queryParams]="{sidebar: 'home'}"></a>

or:或者:

<a routerLink = "/market/{{currency}}" [queryParams]="{sidebar: 'home'}"></a>

There is no issue in your code.您的代码没有问题。 I tried following and its working nicely.我尝试跟随并且它工作得很好。

I have even added an extra parameter.我什至添加了一个额外的参数。

<a [routerLink]="['/market', currency]" [queryParams]="{sidebar:'home',tab:'5'}">Go to market</a>

TS : TS :

const routes: Routes = [
    { path: "market/:currency", component: AppComponent}
];

I am getting following result :我得到以下结果:

http://localhost:49152/market/currency?sidebar=home&tab=5 http://localhost:49152/market/currency?sidebar=home&tab=5

尝试使用:

<a [routerLink]="['/market', currency]" [queryParams]="{sidebar: home}"></a>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM