Angular 插值内的角度MatToolTip条件

Angular 插值内的角度MatToolTip条件,angular,Angular,我正在为MatToolTip添加一个角度条件。首先,以下内容仅适用于1个字符串赋值 matToolTip={{myData.name}} 但我需要添加如下条件 matToolTip={{ myData.hasName : myData.name, myData.hasNoName : myData.NoNameMessage }} 输入的数据有一个或另一个,而不是两个 我发现了另一个stackoverflow,ppl说下面的代码有效,但在我的Angular 7代码中没有 {{element.

我正在为MatToolTip添加一个角度条件。首先,以下内容仅适用于1个字符串赋值

matToolTip={{myData.name}}
但我需要添加如下条件

matToolTip={{ myData.hasName : myData.name, myData.hasNoName : myData.NoNameMessage }}
输入的数据有一个或另一个,而不是两个

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

{{element.source == 1 ? 'upwork' : (element.source == 2 ? 'refer from friend' : '')}}
我试着把它们放在一句话里,但没有成功。非常感谢您的帮助。谢谢。

试试这个:


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

您还可以使用插值在组件类上调用typescript函数,该函数将执行复杂的if-else场景。像这样的

<button mat-raised-button
    matTooltip={{getToolTip(source)}}
    >

谢谢角度仅为1行代码,而typescript多了几行。数据已经存在了,我得到了正确的语法。我希望代码尽可能精简。这就是为什么我提到“复杂的if else scnarios”:-)您应该避免使用模板中的函数,而使用管道。
getToolTip(source)  
{
var tooltip = '';
if(source==1)
{
  tooltip = 'upwork';
}
else
{
  if(source==2){
    tooltip = 'refer from friend';
  }
}
return tooltip;
}