Использование тернарного оператора в component.html [Угловой]

#angular

Вопрос:

Я хочу использовать тернарный оператор непосредственно в значении поля ввода

 <div>
  <div>
    <input type="text" [(ngModel)]="make" placeholder="make" />
    <input type="text" [(ngModel)]="model" placeholder="model" />
    <input type="text" [(ngModel)]="miles" value="using ternary here.." />
  </div>
  <div *ngFor="let car of cars">
    We have a {{ car.make }} {{ car.model }} with a mileage of {{ car.miles }}
  </div>
</div>

<button (click)="addCar()">add Car</button>
 

Как я могу использовать троичный в поле с именем miles?

Комментарии:

1. Не используйте value и ngModel . ngModel это своего рода управляемая угловым альтернатива value . Вы хотите задать начальное значение с помощью тернарного оператора? Тогда, возможно, сделайте это в том component.ts месте, где вы инициализируете miles .

2. Я бы также предположил, что значение вещи и представление вещи должны быть разделены (я предполагаю, что причина, по которой вы хотите использовать троичный, заключается в том, что при некоторых обстоятельствах вы хотите показать другую строку в div). Вместо изменения значения используйте a pipe , чтобы использовать значение и перевести его в нужное вам строковое представление. Таким образом, правильное место для тройки — это труба.

3. Я понимаю, спасибо вам за совет Clashsoft

4. как я могу использовать это (трубу) ?

5. вместо {{ car.miles }} тебя бы написал {{ car.miles | myPipe }} . Взгляните на документы, если вы хотите пойти этим путем 🙂 angular.io/guide/pipes