我正在开发一个Angular2应用程序,我需要显示 - 但是disable一个<a> HTML元素.这样做的正确方法是什么?
更新
请注意*ngFor,这将阻止使用*ngIf和完全渲染的选项<a>.
<a *ngFor="let link of links"
href="#"
[class.disabled]="isDisabled(link)"
(click)="onClick(link)">
{{ link.name }}
</a>
Run Code Online (Sandbox Code Playgroud)
该打字稿组件具有类似如下的方法:
onClick(link: LinkObj) {
// Do something relevant with the object...
return false;
}
Run Code Online (Sandbox Code Playgroud)
我需要实际上阻止元素被点击,而不仅仅是出现在CSS中.我假设我首先需要绑定到[disabled]属性,但这是不正确的,因为锚元素没有disabled属性.
我看着并考虑使用pointer-events: none但这阻止了我的cursor: not-allowed工作风格- 这是要求的一部分.
在我的Angular 2应用程序中,我试图禁用routerLink而没有任何成功.我试图处理事件上的click事件click(使用event.preventDefault()和event.stopPropagation()),但它不起作用.
如何禁用routerLink?
我需要在本地或外部资源有条件地指向相同的锚链接.我试过了
<a [href]="outside?externalUrl:null" [routerLink]="outside?[]:['/route',id]" >test</a>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我没有收到任何错误,但它指向同一本地页面并忽略外部URL.有任何想法吗?
另一个选择是构建链接,但我找不到任何文档如何访问routerLink服务内部
编辑:我知道我可以克隆整个链接,*ngIf但我不想这样做,我的链接包含一个带有大量选项的视频标签