我正在尝试使用Angular Material 2的MdToolTip。语法看起来像
<span mdTooltip="Tooltip!">I have a tooltip</span>
但是,我想在我的锚标签上实现此功能。我想在 class="not-active" 运行时将鼠标悬停在 ahchor 标签上时显示工具提示。我怎样才能做到这一点?
<a [ngClass]="{'not-active': !isCurrentUserExist}" [routerLink]="['/create-timesheet']">Link1</a>
/*disabled side menu links*/
.not-active {
pointer-events: none;
cursor: default;
}
在将鼠标悬停在ahchor标签上时显示工具提示,当 class="not-active" 正在操作。
所以,基本上,当变量isCurrentUserExist
计算结果为false时,.not-active
类是启用的,对吧?(这就是您的代码显示的内容)。
然后,您只需在[matTooltip]
中放置一个条件即可实现它@Input:
<span [matTooltip]="!isCurrentUserExist ? 'Tooltip!' : ''">
I have a tooltip
</span>
编辑 1
对于更优雅的解决方案,我们可以使用matTooltipDisabled
@Input
(哪个是在PR#3578
年实现并在@angular/components@2.0.0-beta.3 cesium-cephalopod
年发布的):
<span matTooltip="Tooltip!" [matTooltipDisabled]="isCurrentUserExist">
I have a tooltip
</span>
材质角度工具提示有一个名为matTooltipDisabled
(布尔类型)的参数。它可以绑定到与要绑定matTooltip
相同的元素。
<span matTooltip="Tooltip!" [matTooltipDisabled]="hideTooltip == true">I have a tooltip</span>
不要忘记声明变量并设置一个值;)
let hideTooltip:boolean = false;
因此,使用您自己的代码,更好的解决方案是:
<a matTooltip="Tooltip!" [matTooltipDisabled]="!isCurrentUserExist" [ngClass]="{'not-active': !isCurrentUserExist}" [routerLink]="['/create-timesheet']">Link1</a>
/*disabled side menu links*/
.not-active {
pointer-events: none;
cursor: default;
}
示例:https://stackblitz.com/edit/angular-conditional-tooltip
文档:https://material.angular.io/components/tooltip/overview#disabling-the-tooltip-from-showing