angular2 и ngIf - проверьте, больше или меньше

Как мне заставить это работать? Если значение равно 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>Select Analysis Horizon]*ngFor="let i of analysis_horizon_array">{{i}} Month {{i}} Month 9'" [ERROR ->] *ngFor="let i of analysis_horizon_array">{{i}} Месяцы; Задача: Promise.then; Значение: Ошибка: ошибки синтаксического анализа шаблона: (…) Ошибка: ошибки синтаксического анализа шаблона: не может быть нескольких привязок шаблона к одному элементу . Используйте только один атрибут с именем 'template' или с префиксом * ("isabled>Выберите горизонт анализа ]*ngFor="let i of analysis_horizon_array">{{i}} Month {{i}} Month 9" [ОШИБКА -> ]*ngFor="let i of analysis_horizon_array">{{i}} Месяц


person Tampa    schedule 19.10.2016    source источник


Ответы (1)


Вы не можете использовать несколько привязок шаблона к одному элементу, в данном случае *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>
person Stefan Svrkota    schedule 19.10.2016