<div *ngFor="let x of options; let i = index;trackBy:trackByIdx">
<mat-form-field class="full-width" appearance="fill">
<mat-label>Option</mat-label>
<input type="input" [(ngModel)]="options[i]" matInput>
</mat-form-field>
</div>
По какой-то странной причине я получаю сообщение об ошибке из шаблона при попытке изменить форму викторины. Я получаю ERROR TypeError: 0 доступен только для чтения из [(ngModel)] = "options [i]", что означает, что ошибка исходит из шаблона.
@Input() title: string;
@Input() options: string[];
@Output() titleEmitter: EventEmitter<string> = new EventEmitter<string>();
@Output() optionsEmitter: EventEmitter<string[]> = new EventEmitter<string[]>();
onAddOptions() {
if (this.options && this.options.length < 11) {
this.optionsEmitter.emit([...this.options, '']);
}
}
emitOptions(index: number) {
this.optionsEmitter.emit([...this.options.slice(0, index), this.options[index], ...((this.options[index+1]) ? this.options.slice(index + 1) : [])])
}
Я не уверен, что остальные кода будет работать так, как задумано, потому что ошибка возникает из шаблона, но я надеюсь понять, почему он вызывает ошибку. Индекс доступен только для чтения? Кажется, это исходит из индекса, потому что я также получаю ERROR TypeError: 1 доступен только для чтения, когда я пытаюсь отредактировать второй вариант.