插值内的 Angular MatToolTip 条件

c0m*_*age 2 angular

我正在为我的 MatToolTip 添加一个角度条件。起初,以下内容仅适用于 1 个字符串分配

matToolTip={{myData.name}}
Run Code Online (Sandbox Code Playgroud)

但我需要添加如下条件

matToolTip={{ myData.hasName : myData.name, myData.hasNoName : myData.NoNameMessage }}
Run Code Online (Sandbox Code Playgroud)

传入的数据有一个或另一个,而不是两者都有。

我发现了另一个 stackoverflow,它 ppl 说以下有效,但不在我的 Angular 7 代码中

{{element.source == 1 ? 'upwork' : (element.source == 2 ? 'refer from friend' : '')}}
Run Code Online (Sandbox Code Playgroud)

我尝试将它们放在单引号中,但没有成功。任何帮助是极大的赞赏。谢谢。

Nad*_*lta 16

尝试这个:

[matTooltip]="myData.hasName ? myData.name : (myData.hasNoName? 'myData.NoNameMessage' : null)"


小智 13

您可以使用 [matTooltipDisabled] 指令,而不是使用三元运算符或其他更复杂的解决方案。

一个例子:

<mat-icon matTooltip="It's closed."
  [matTooltipDisabled]="entity.isOpen == true">
    close
</mat-icon>
Run Code Online (Sandbox Code Playgroud)