作为示例,我有一个带有两个公共属性的基本组件(为简便起见,我省略了该示例中的外部FormGroup

public sentiment: FormArray;
public sentimentValues: ['terrible', 'neutral', 'good'];


在视图中,我正在遍历sentiment数组中包含的控件。

<div *ngFor="let option of sentiment.controls; index as i;">
    <label [for]="'sentiment_' + i" class="sentimentLabel">
      <input class="sentiment"
             [id]="'sentiment_' + i"
             type="checkbox"
             name="sentiment"
             [formControl]="option"
             value="option1">
    </label>
</div>


我想向ngFor循环内label数组中i索引处的sentimentValues元素添加一个类。

<label [ngClass]="sentimentValues[i]">...</label>


这会产生错误_co.sentimentValues is undefined

如何访问ngFor循环中的外部组件值? (或者我该如何重构它,以便也许只是不需要sentimentValues数组?

(附加但相关,输入的[value]也应为sentimentValues[i]的值)

最佳答案

编辑:

您的数组初始化不正确,您需要使用=

public sentimentValues = ['terrible', 'neutral', 'good'];

09-12 12:21