6

私の TS ファイルでは、次のselectedValsObjようにオブジェクトのプロパティを動的に作成しています。

private selectValsObj: any = {};

setSelectedValsObj(sectionsArr) {
  sectionsArr.forEach(section => {
    section.questions.forEach(questionObj => {
      if (questionObj.type === 'drop-down') {
        this.selectValsObj[questionObj.questionId] = { selected: questionObj.answerDetails[0] };
      }
    })
  });
}

私の HTML では[ngModel]、入力をオブジェクトのプロパティにバインドしたいと考えていselectValsObjます。私はこれを試しましたが、運がありませんでした:

<div *ngFor="let question of section.questions">
    <div class="drop-down-question" *ngIf="question?.type === 'drop-down'">
        <select class="q-select"
                [(ngModel)]="selectValsObj[questionId].selected" // <== doesnt work either**
                // [(ngModel)]="selectValsObj[{{ questionId }}].selected" // <== doesnt work**
                name="answerForQuestion{{ question?.questionId }}">
            <option *ngFor="let answer of question?.answerDetails"
                [ngValue]="answer">
                    {{ answer?.value }}
            </option>
        </select>
    </div>
</div>

ngModelHTML の を TS ファイルで動的に作成されたプロパティに設定するにはどうすればよいですか?

4

4 に答える 4