HTML
[routerLink]="['', {'scrollTo': '#contact'}]"
TS:
this.route.params.forEach((params: Params) => {
if (params['scrollTo']) {
// some code here
}
});
错误:EXCEPTION:根段不能有矩阵参数
我的routerLink中不能有'scrollTo'参数吗?
它明显出现在角度2文档中:https://angular.io/docs/ts/latest/guide/router.html#!#appendix-link-parameters-array
修改
似乎没有抱怨:<a [routerLink]="['/crisis-center', { scrollTo: '#contact' }]">Crisis Center</a>
。但我需要用我的“根路线”。
答案 0 :(得分:7)
最近,它在Angular 5 +中以这种方式完成:
<a [routerLink]="['/']" [queryParams]="{ 'tour': true }"> text </a>
执行[routerLink]="['/', { 'tour': true' }]"> text </a>
会抛出错误
答案 1 :(得分:2)
根段不能有矩阵参数。这有两个原因:
答案 2 :(得分:2)
接受的答案是错误的,它设置了查询参数(例如?myparam = true)。要设置矩阵参数(例如; myparam = 15; foo = foo),语法为:
[routerLink]="['.', {'scrollTo': '#contact'}]"
注意路线中的时间段。如此处所述:
https://github.com/angular/angular/issues/9505
这是设置矩阵参数的方法,但以“''”失败,因为这是针对根路由的,显然这是不允许的矩阵参数-