【问题标题】:<a> element href stops working with (click) on it<a> 元素 href 停止使用(单击)它
【发布时间】:2018-10-20 21:30:54
【问题描述】:

我的导航栏.html:

 <li>
 <a (click)="Close= !Close" href="/page1" >This Page</a>
 </li>
 <li>
 <a (click)="Close= !Close" href="/page2" >Another Page</a>
 </li>

app.html:

<app-navbar></app-navbar>
<router-outlet></router-outlet>

我有一个菜单,如果 Close 变量是 true 或 false,则在 css 的帮助下使用转换打开和关闭。 现在,如果我单击菜单的某个元素,我的导航栏会闪烁回关闭状态而没有动画并重新加载页面的内容。我找到的解决方案是将(click)="Close= !Close" 添加到菜单的每个元素中,这样他们也可以控制打开/关闭动画。

当我将 (click)="Close= !Close" 添加到 href 停止重定向的每个元素属性时,我删除了 (click)="Close= !Close" 并确认它导致我的 href 工作。

这行得通:

 <li>
 <a href="/page1" >This Page</a>
 </li>

这个不要:

 <li>
 <a (click)="Close= !Close" href="/page1" >This Page</a>
 </li>
 <li>

正常吗?有什么解决方法吗?我需要在 Angular 上使用另一种类型的 href?

当我将鼠标悬停在元素上时,它会正确显示该元素应该带我去的链接,属性中带有 (click)="Close= !Close" 的事件

【问题讨论】:

    标签: angular onclick href


    【解决方案1】:

    使用routerLink

    <a (click)="Close= !Close" [routerLink]="['/page1']" >This Page</a>
    

    【讨论】:

    • 像这样工作routerLink="/page1" 为什么我需要括号?
    • 非常感谢,没想到这么简单
    • [routerLink] 是有角度的做法。您可以将变量传递给它。 [routerLink]=navigateUrl。在您的情况下,它不是必需的
    猜你喜欢
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多