angular – 将NavigationExtras传递给模板中的routerLink
发布时间:2020-12-17 07:31:50 所属栏目:安全 来源:网络整理
导读:我想在我的Angular 2应用程序中进行路由时禁用更改URL. 我知道skipLocationChange:true必须作为NavigationExtras参数传递给路由器. 我的问题是: 是否可以从模板内部将NavigationExtras传递给routerLink? 我试过的: h1 {{title}}/h1ul lia [routerLink]="
我想在我的Angular 2应用程序中进行路由时禁用更改URL.
我知道skipLocationChange:true必须作为NavigationExtras参数传递给路由器. 我的问题是: 是否可以从模板内部将NavigationExtras传递给routerLink? 我试过的: <h1> {{title}} </h1> <ul> <li><a [routerLink]="['route1',{ skipLocationChange: true }]">Route1</a></li> <li><a [routerLink]="['route2',{ skipLocationChange: true }]">Route2</a></li> </ul> <router-outlet></router-outlet> 但它不起作用. 单击链接后,路由将更改为http:// localhost:4200 / route2; skipLocationChange = true 我不想在我的控制器中使用this.router.navigate([‘route1],{skipLocationChange:true),从此我失去了routerLinkAtive突出显示.
没有办法(现在和afaik)同时具有routerLinkActive和skipLocationChange并期望你想要的结果.根据
api,您可以添加选项,但没有skipLocationChange选项.
但是,您可以将路由器中的NavigationExtras与ActivatedRoute结合使用,并根据该链接是否应该处于活动状态 更新 从2.3.0-beta.0开始,您可以将skipLocationChange选项添加到routerLink指令: <li><a [routerLink]="['route1']" skipLocationChange>Route1</a></li> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |