如何在不重定向的情况下使用空的href属性

How can I use an empty href attribute without redirect?

本文关键字:href 属性 情况下 重定向      更新时间:2023-09-26

有没有一种方法可以使href不重定向回angular2中的根?因为我有这个<a href="" (click)="modal.open()"></a>代码来打开一个模态,但它将我重定向回主页。

我知道这是因为routeConfig angular有,但有办法说绕过它吗?

{ path: '', component: LoginComponent, pathMatch: 'full'},

请注意,如果完全删除href是有效的,则可能没有检查w3c验证。

您可以使用:

<a href="javascript:;"">Link</a>

或者,如果你不想使用内联JavaScript:,可能会更好

<a href="" (click)="$event.preventDefault()">Link</a>

以实现没有任何副作用的链接。

Content-Security-Policy不允许内联脚本(例如script-src: 'self';)时,href="javascript:;"在单击链接后将产生错误(https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src)。

您可以在单击时将空href与event.prventDefault()一起使用。

<a href="" (click)="$event.preventDefault()">Link</a>

我认为这个问题的更好答案可能是:

<a href="" (click)='$event.preventDefault();modal.open()'>
Angular使用ng-href而不是href。因此,如果您想要拥有href属性,那么您应该使用ng-href

如果你想根据W3C规范拥有有效的HTML,那么不要使用Angular,因为(click)=...等不是有效的属性:)IMHO这个HTML有效性被高估了。

如果您只想打开一个模式窗口,那么不要使用<a>标记,因为这不是它们的主要用途。<a>用于导航。请改用<button>。这也将解决您使用href的问题。