RouterLink 数组
RouterLink Array
我有一个 hyper link,我需要在 Angular 中制作一个路由器 link 4. url 我有很多零件,其中一部分是数组。我不确定如何将数组本身拆分为 routerlink 数组的部分。
举这个人为的例子:
[routerLink]="['/customers', customerid, orderid, arrayofints, anotherint]"
我希望路由器看起来像这样,其中 customerid = 10,order = 500,arrayofints = [1,2,3],anotherint = 888
"/customers/10/500/1/2/3/888"
我最终得到了这样的结果:
"/customers/10/500;0=1;1=2;2=3/888"
平展论据会给你正确的 URL
[routerLink]="[].concat.apply([],['/customers', customerid, orderid, arrayofints, anotherint])"
对于任何重要的事情,我都会在组件代码而不是模板中完成工作。所以在模板中:
[routerLink]="customerRouteFor(anotherint)"
并且在组件中,您可以在其中使用 ...spread
语法:
customerRouteFor(anotherint: number): (string | number)[] {
return ['/customers', this.customerid, this.orderid, ...this.arrayofints, anotherint];
}
在我看来,这似乎比 concat
方法更简洁。
我有一个 hyper link,我需要在 Angular 中制作一个路由器 link 4. url 我有很多零件,其中一部分是数组。我不确定如何将数组本身拆分为 routerlink 数组的部分。
举这个人为的例子:
[routerLink]="['/customers', customerid, orderid, arrayofints, anotherint]"
我希望路由器看起来像这样,其中 customerid = 10,order = 500,arrayofints = [1,2,3],anotherint = 888
"/customers/10/500/1/2/3/888"
我最终得到了这样的结果:
"/customers/10/500;0=1;1=2;2=3/888"
平展论据会给你正确的 URL
[routerLink]="[].concat.apply([],['/customers', customerid, orderid, arrayofints, anotherint])"
对于任何重要的事情,我都会在组件代码而不是模板中完成工作。所以在模板中:
[routerLink]="customerRouteFor(anotherint)"
并且在组件中,您可以在其中使用 ...spread
语法:
customerRouteFor(anotherint: number): (string | number)[] {
return ['/customers', this.customerid, this.orderid, ...this.arrayofints, anotherint];
}
在我看来,这似乎比 concat
方法更简洁。