我试图让IN
指令使用矩阵参数。到目前为止,我能够使用的唯一语法变体就是路径字符串。
routerLink
在网址栏中导航到<a routerLink="/state-scratchpad">Syntax 1 - works</a>
<a routerLink="['/state-scratchpad']">Syntax 2 - doesn't work</a>
<a routerLink="['/state-scratchpad', { tcomp: '1', tmake: '1-7' }]">Syntax 3 - doesn't work</a>
<a routerLink="/state-scratchpad;tcomp=1;tmake=8">Syntax 4 - doesn't work</a>
也可以。
以下是我的路线:
/state-scratchpad;tcomp=1;tmake=8
我正在使用Angular const routes = [
{ path: '', pathMatch: 'full', redirectTo: '/welcome' },
{ path: 'welcome', component: WelcomeComponent },
{ path: 'state-scratchpad', component: StateScratchpadComponent, params: { tcomp: '', tmake: '' } }
];
。根据{{3}}网站上的文档,2.0.0
值的各种语法都应该有效。但只有最简单的语法才有效。以下是生成的错误消息:
routerLink
有什么想法吗?
答案 0 :(得分:0)
首先路由器链接如下所示
<a [routerLink]="['/state-scratchpad', tcomp, tmake]">
这将传递基本URL并附加参数。 接下来你的路线应该是这样的
{ path: 'state-scratchpad/:tcomp/:tmake', component: StateScratchpadComponent}
然后在加载组件时,您可以访问这样的参数
constructor( private route: ActivatedRoute) {}
ngOnInit(){
this.route.snapshot.params["tcomp"];
this.route.snapshot.params["tmake"];
}