加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读