在我的Angular 2应用程序中,我试图禁用routerLink并没有成功。我已尝试处理click事件(带有event.preventDefault()event.stopPropagation())上的click事件,但是它不起作用。

如何禁用routerLink?

最佳答案

通过CSS在元素上禁用pointer-events:

<a [routerlink]="xxx" [class.disabled]="disabled ? true : null">Link</a>

a.disabled {
   pointer-events: none;
   cursor: default;
}

另请参阅Angular2, what is the correct way to disable an anchor element?

要么

<a *ngIf="isEnabled" [routerlink]="xxx">Link</a>
<div *ngIf="!isEnabled">not a link</div>

或轻松重用禁用的链接模板

<ng-template #disabledLink>
  <div *ngIf="!isEnabled">not a link</div>
</ng-template>
<a *ngIf="isEnabled; else disabledLink" [routerLink]="xxx">Link</a>

关于angular - 如何有条件地禁用routerLink属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35431188/

10-11 14:17