angular2和ngIf - 测试是否大于或小于

时间:2016-10-19 07:52:39

标签: angular angular-directive angular-template

如何使这项工作?如果值为9或更小,则显示“月”,否则显示“月份”。这是我的代码:

<select id="analysis_horizon" class="custom-select form-control" [(ngModel)]="basic_setup.analysis_horizon" formControlName="analysis_horizon" describedby="basic-addon_analysis_horizon">
    <option disabled>Select Analysis Horizon</option>
    <option *ngIf="'i<=9'" *ngFor="let i of analysis_horizon_array">{{i}} Month</option>
    <option *ngIf="'i>9'" *ngFor="let i of analysis_horizon_array">{{i}} Months</option>
</select>

这是我得到的错误:

  

一个元素上不能有多个模板绑定。仅使用一个名为“template”的属性或带前缀*(“isabled&gt; Select Analysis Horizo​​n”                                           ] * ngFor =“let i of analysis_horizo​​n_array”&gt; {{i}}月                                           {{i}}月                                           9'“[ERROR - &gt;] * ngFor =”让我分析_horizo​​n_array“&gt; {{i}}个月                                        ;任务:Promise.then;值:错误:模板解析错误:(...)错误:模板解析错误:       一个元素上不能有多个模板绑定。仅使用一个名为“template”的属性或带前缀*(“isabled&gt; Select Analysis Horizo​​n”                                           ] * ngFor =“let i of analysis_horizo​​n_array”&gt; {{i}}月                                           {{i}}月                                           9'“[ERROR - &gt;] * ngFor =”让我分析_horizo​​n_array“&gt; {{i}}月份

1 个答案:

答案 0 :(得分:3)

您不能在一个元素上使用多个模板绑定,在本例中为*ngIf*ngFor。你可以用插值和三元运算符实现你想要的,你不需要使用*ngIf指令:

<select id="analysis_horizon" class="custom-select form-control" [(ngModel)]="basic_setup.analysis_horizon" formControlName="analysis_horizon" describedby="basic-addon_analysis_horizon">
    <option disabled>Select Analysis Horizon</option>
    <option *ngFor="let i of analysis_horizon_array">
        {{i}} {{ i <= 9 ? "Month" : "Months" }}
    </option>
</select>