如何将查询参数添加到routerLink

@RouteConfig {
   {path: '/search',   name: 'Search', component: SearchCmp}
}  

比如说我想go /search?q=asdf号公路,

<a [routerLink]= " [ '/Search' , {q= 'asdf'}] ">Link 1</a>

这等于/search.

有没有一种方法可以添加查询参数而不使用:

this.router.navigate( ['Search', { q: 'asdf'}]);

<a href="/search?a=asdf"> Link 2 </a>

?

推荐答案

如果你需要比/search?q=asdf更多的东西,你可以简单地使用:

@RouteConfig {
   {path: '/search',   name: 'Search', component: SearchCmp}
}

//And to generate router Links use:

<a [routerLink]="['/Search']" [queryParams]="{q:'asdf'}"></a>

这会将href标记生成为<a href="/search",但单击锚定标记会将您 bootstrap 到url /search?q=asdf.[queryParams]将允许您添加带"?"的查询参数,否则,它们将被附加";".您可以使用以下方法在SearchCmp中获取此参数:

constructor(private _routeParams: RouteParams) {
   var queryParam = this._routeParams.get('q');
}

Angular相关问答推荐

Angular 形式验证:在空和不匹配的密码上显示错误

RFDC.CommonJS或AMD依赖项可能会导致优化救助ANGURAL PROCEMENT with ngx-charts lib

如何在每次Angular 编译之前执行脚本(esbuild)

Angular 升级到v16和Ant设计错误:';nzComponentParams';类型';ModalOptions';中不存在

如何在HTMLTITLE属性中使用Angular 显示特殊字符?

PrimeNG面包屑组件生成奇怪的&

判断哪个Angular 信号导致了影响

在Cypress中,对xlsx文件的读取并不总是正确的

我需要取消订阅路由的可观察事件吗

Angular 路由中的模块构建失败

在Angular中扩展多个类

如何在独立组件中导入Angular innerHTML

Angular 13 中