javascript - 禁用 Angular 2+ 中的链接
问题描述
我正在尝试禁用链接,直到在 Angular 6 中进行 API 调用。我希望在返回 getSelectedDealer() API 之前禁用链接。
<menu-link *ngIf="perms.has(perms.TOP_OFFERS) && _dealerPersistenceService.getSelectedDealer()"
route="/dynamic-journeys/{{getDealerId()}}/vehicles">
<menu-item><img src="/assets/menu-icons/top-offers.svg">Dynamic Journeys</menu-item>
</menu-link>
这是'a'标签组件和CSS的代码。
<a [routerLink]="route" routerLinkActive="active" class="menu-link" [class.disabled]="disabled ? true: null">
<ng-content select="menu-item"></ng-content>
a.disabled {
pointer-events: none;
cursor: default;
}
基本上我需要在 API 调用之前禁用“菜单链接”项目,然后再启用。
解决方案
如果你想使用任何东西,你可以通过简单地将点击事件添加到这个链接来实现这一点:
<a [routerLink]="route"
routerLinkActive="active"
class="menu-link"
[class.disabled]="disabled ? true: null"
(click)="check($event)">
在 TS 中:
isReady = false;
check = (event) => {
if (!this.isReady) {
event.preventDefault();
}
}
所以 isReady 是你组件的一个布尔变量,在你想要之前它是假的。当你点击这个链接时,它会检查它是否为真,但如果它是假的,它将阻止事件的原始行为,并且什么都不会触发。
推荐阅读
- android - 如何在android图像视图中检索图像
- javascript - 当我单击 html 中 javascript 中的按钮之一时,如何阻止计时器加速?
- c# - 带有 LINQ 查询的实体框架
- python - 通过 ssh 错误更新 git 子模块
- mailchimp - 是否可以在 mailchimp API 3.0 中按成员获取细分?
- c - 使用 C 分段错误的字符串操作
- javascript - 替换对象和数组中的元素?
- java - setRequestedOrientation 上的 IllegalStateException
- javascript - 从 .find() 编辑文档数组中的文档
- python - matplotlib 修改颜色图,白色为零