Динамически установить атрибут для компонента в шаблоне html angular 2

Я пытаюсь установить атрибут для компонента, если определенное выражение истинно. Может ли кто-нибудь дать мне пример?

Что у меня сейчас:

 <div [danger]="inArray(choice.likers, user, id)"></div>

но это не компилируется.

inArray - мой собственный метод, который возвращает true или false. То, что я хотел бы видеть, - это выражение, если выражение возвращает true, будет

<div danger></div>

В angular 1 было указано следующее: ng-attr -..., который сделал именно это.

Ответ 1

Чтобы установить атрибут, используйте привязку атрибутов:

 <div [attr.danger]="inArray(choice.likers, user, id)"></div>

Если вы хотите показать пустой атрибут, условно вернуть пустую строку или null в inArray():

inArray() {
    let value;
    if (isInArray) {
      value = '';
    } else {
      value = null;
    }
    return value;
  }

поэтому атрибут будет опущен или атрибут опасности не существует. Результат:

<div danger></div>

Ответ 2

  <ion-row class="item1" >
  <ion-col size="7">
  <p>Photo</p>
  </ion-col> 
  <ion-col  size="2.5" class="item11" height-10>
  <img src="assets/img/profile_pic.png">
  </ion-col>
  <ion-col size="1.2" >
  <img src="assets/img/plus2.png">
  </ion-col>
  </ion-row>