是否可以在 routerLink 的 queryParams 中使用常量作为 属性 名称?
Is it possible to use a constant as the property name in routerLink's queryParams?
我正在尝试导航到当前页面和 change/add 查询参数“categoryId”。如果我这样做:
<a
[routerLink]=""
[queryParams]="{ categoryId: category!.id }"
queryParamsHandling="merge"
>
它工作正常,但我有一个查询参数名称的常量,这样如果我想更改它,我不必找到每个实例。
在 component.ts 中,我有 属性:
categoryIdQueryParamName = QueryParamNames.CATEGORY_ID;
我试过:
<a
[routerLink]=""
[queryParams]="{ {{'"' + categoryIdQueryParamName + '"' }}: category!.id }"
queryParamsHandling="merge"
>
看完后:,
我试过了:
<a
[routerLink]=""
[queryParams]="{ [categoryIdQueryParamName]: category!.id }"
queryParamsHandling="merge"
>
但是,我仍然遇到编译错误。如果可能的话,正确的方法是什么?旁注,我知道我可以使用 (click)
以编程方式执行此操作,但我正在利用 <a [routerLink]>
来获得能够右键单击并在新选项卡中打开的好处。
最干净的方法是在 ts 中完成
public get queryParams() {
const p = {};
p[QueryParamNames.CATEGORY_ID] = category!.id;
return p;
}
<a [routerLink]="" [queryParams]="queryParams" queryParamsHandling="merge" >
我正在尝试导航到当前页面和 change/add 查询参数“categoryId”。如果我这样做:
<a
[routerLink]=""
[queryParams]="{ categoryId: category!.id }"
queryParamsHandling="merge"
>
它工作正常,但我有一个查询参数名称的常量,这样如果我想更改它,我不必找到每个实例。
在 component.ts 中,我有 属性:
categoryIdQueryParamName = QueryParamNames.CATEGORY_ID;
我试过:
<a
[routerLink]=""
[queryParams]="{ {{'"' + categoryIdQueryParamName + '"' }}: category!.id }"
queryParamsHandling="merge"
>
看完后:, 我试过了:
<a
[routerLink]=""
[queryParams]="{ [categoryIdQueryParamName]: category!.id }"
queryParamsHandling="merge"
>
但是,我仍然遇到编译错误。如果可能的话,正确的方法是什么?旁注,我知道我可以使用 (click)
以编程方式执行此操作,但我正在利用 <a [routerLink]>
来获得能够右键单击并在新选项卡中打开的好处。
最干净的方法是在 ts 中完成
public get queryParams() {
const p = {};
p[QueryParamNames.CATEGORY_ID] = category!.id;
return p;
}
<a [routerLink]="" [queryParams]="queryParams" queryParamsHandling="merge" >