[英]Disable <a> tag in Angular conditionally
我正在嘗試禁用 Angular 模板中的鏈接。 可能會問一個不可能的問題。 有可能做這樣的事情嗎?
<a [routerLink]="['/details', item.id]" [disable]="disable">
<div class="row">
<div class="col-12">
<h4>text text text</h4>
</div>
</div>
</a>
當鏈接被禁用時,我希望它的行為<a>
標簽就像一個普通的<div>
。
試試下面的代碼。 根據條件更改href
值並應用一些 styles
模板
<a [routerLink]="disable? null: ['/details', 1]" [ngClass]="{'anchor-disable': disable}"> <div class="row"> <div class="col-12"> <h4>text text text</h4> </div> </div> </a>
CSS
a.anchor-disable { color: black; cursor: text; pointer-events: none; text-decoration: none; }
<div *ngIf="condition; else elseBlock">
<div class="row">
<div class="col-12">
<h4>text text text</h4>
</div>
</div>
</div>
<ng-template #elseBlock>
<a [routerLink]="['/details', item.id]">
<div class="row">
<div class="col-12">
<h4>text text text</h4>
</div>
</div>
</a>
</ng-template>
如果您使用的是 angular 材質,則可以使用 mat-button 屬性和 ngClass 來實現此目的
<a mat-button href="https://www.google.com/" target="_blank" disabled="{{isDisabled}}"
[ngClass]="{'simple-text': isDisabled}">
Sample link
</a>
css
.simple-text {
color: black !important;
}
stackblitz 演示: https://stackblitz.com/edit/angular-hkmkn9?file=src%2Fapp%2Fapp.component.css
<a [routerLink]="disable ? null : ['/details', item.id]" [class.disabled]="disable">
<div class="row">
<div class="col-12">
<h4>text text text</h4>
</div>
</div>
</a>
.disabled {
pointer-events: none;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.