Угловой 6, доступ к переменной компонента внутри области действия ngFor - PullRequest
0 голосов
/ 01 ноября 2018

Как получить доступ к глобальной переменной компонентов внутри области действия цикла ngFor (которая находится в html-шаблоне компонента).

Пожалуйста, не говорите мне, что это невозможно, я уже достаточно разочарован Angular.

<ng-container *ngFor="let option of options">
   <label class="{{globalVariable}}">{{option}}</label>
</ng-container>

Это не работает. Как я могу использовать 'globalVariable' внутри области действия ngFor?

globalVariable определяется в компоненте следующим образом:

@Input() globalVariable: 'someClass';

Ответы [ 3 ]

0 голосов
/ 01 ноября 2018

Передайте параметр globalVariable как (обратите внимание на одинарную кавычку):

<app-temp [globalVariable]="'globalVariable'"></app-temp>

Тогда все будет работать так, как вы ожидаете:

<ng-container *ngFor="let option of options">
   <div class="{{globalVariable}}">{{option}}</div>
</ng-container>`

Подробнее см. this

0 голосов
/ 01 ноября 2018

Вы определили @Input() globalVariable: string;. Поэтому я полагаю, что вы передаете этот globalVariable в качестве входных данных от родительского компонента следующим образом:

<parent-comp [globalVariable]="globalVariable"></parent-comp>

В вышеприведенной строке должно быть определено globalVariable в файле ts вашего родительского компонента.

Остальная часть вашего кода выглядит нормально для меня:

<ng-container *ngFor="let option of options">
   <label class="{{globalVariable}}">{{option}}</label>
</ng-container>
0 голосов
/ 01 ноября 2018

Используйте директиву ngClass.

<p [ngClass]="red">
  Start editing to see some magic happen :)
</p>

stackblitz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...