Angular 如何组合多个*NGIF?

Angular 如何组合多个*NGIF?,angular,angular-ng-if,Angular,Angular Ng If,您好,我只想在一个表中打印一个带有三个输出的ng if 现在我有了这个语法: <td><div *ngIf="todo.diffDays >90">ninety</div> </td> 如何组合它们 谢谢 如果您只想显示所有内容>90,您甚至可能不需要*ngIf您可以这样做: <div> {{ diffdays > 300 ? "threehundred" : diffDays >

您好,我只想在一个表中打印一个带有三个输出的ng if

现在我有了这个语法:

<td><div *ngIf="todo.diffDays >90">ninety</div> </td>
如何组合它们


谢谢

如果您只想显示所有内容
>90
,您甚至可能不需要
*ngIf

您可以这样做:

<div> 
   {{ 
      diffdays > 300 ? "threehundred" : 
      diffDays > 180 ? "hundredeighty" :
      diffDays > 90 ? "ninety" : "Less than 90" 
   }}
</div>

为此,您可以多次使用
ngIf

<div *ngIf="todo.diffDays > 90">ninety</div>
<div *ngIf="todo.diffDays > 180">hundredeighty</div>
<div *ngIf="todo.diffDays > 300">threehundred</div>
90
一百度
三百

首先在组件类中声明一个days变量

export class AppComponent {

 public days: number;

 constructor() {

    this.days = 90; // Assign value
   }
}
通话天数如下面的div标签所示

<td>

<div *ngIf="todo.diffDays > days">{{days}}</div> 

</td>

{{days}

我会将此逻辑放在您的模型中。有许多不同的方法来实现这一点,具体取决于您需要什么

打字稿:

foo(val: number): string {
    if (val > 90) {
        return "ninety";
    }
    if (val > 180) {
        return "hundredeighty";
    }
    return "";
}
HTML:

{{foo(todo.diffDays)}

你可以用switchCase来做这个吗?我试过了,它不起作用。你有例子吗?没有,我想做超过90个。如何实现该功能以检查所有值?我试过开关箱,但没有worked@BVB1392这会检查
>90
,如果它是
<90
,则会显示“小于90”-如果希望它为空,则只需将
“小于90”
切换到
“”
@BVB1392如果它解决了您的问题,请您将此标记为正确答案-谢谢。好的,很好,但现在我只得到一个值,而不是多个值:。如果我定义90比90和180比100,他会给我两个值。谢谢!它起作用了。您知道如何将它与另一个表列组合吗?喜欢todo。(任何事情)我不理解这个问题,所以也许可以在if条件中获得另一列,并比较这些列。
<td>

<div *ngIf="todo.diffDays > days">{{days}}</div> 

</td>
foo(val: number): string {
    if (val > 90) {
        return "ninety";
    }
    if (val > 180) {
        return "hundredeighty";
    }
    return "";
}
<div>{{foo(todo.diffDays)}}</div>