2016-12-20 6 views
1

У меня есть страница, которая будет иметь несколько полей ввода, которые я хочу, чтобы иметь возможность флаг дляДинамически Добавить Bootstrap класс к элементу Угловое 2

 <div class="form-group"> 
      <label class="d-block">Allowance Type</label> 
      <div class="input-group"> 
       <input type="text" class="form-control width-150" [(ngModel)]="selectedPricingItem.allowanceTypeDescription" readonly> 
       <span class="input-group-addon mg-batch-flag" (click)="flagItem('allowanceTypeDescription','Allowance Type')" data-toggle="modal" data-target="#auditDialog"> 
        <i class="fa fa-fw fa-flag" aria-hidden="true"> 
        </i> 
       </span> 
      </div> 
     </div> 

У меня есть эта структура несколько раз на странице и Я хочу иметь возможность загрузочного класса (имеет-опасность) для них на основе обработчика события клика, который у меня есть. В этом обработчике я просто заполняю экземпляр класса, который я намереваюсь отправить на веб-службу в этот момент. Является наилучшим подходом для создания компонента с разными стилями и использования * ngIf, чтобы скрыть/показать?

ответ

3

Просто используйте класс связывания

[class.has-danger]="propWithValue" 

propWithValue, где должен иметь значение true или false, чтобы получить класс добавляется или удаляется. Существует также [ngClass] для более сложных сценариев, таких как добавление нескольких классов.

+0

это лучший способ сделать это, так как я должен иметь возможность управлять классом на нескольких элементах управления независимо. это заставит меня иметь несколько переменных для управления нет? –

+0

Если вы хотите иметь несколько элементов с каждым своим статусом, то да, вам нужно несколько переменных. В качестве альтернативы вы можете использовать массив - в зависимости от вашего варианта использования. Но я не знаю другого пути. Чтобы сохранить статус, вам нужна переменная. –

+0

Я думаю, что компонент с свойством «статус» будет самым чистым. Только проблема в том, что у меня было бы несколько на одной странице. –

Смежные вопросы