`[(ngModel)]` 没有从控制器获取值,如何解决?

`[(ngModel)]` doesn't get value from contoller, how to fix?

我有一个待办事项列表项目,其中每个条目都是一个输入(内联修改)。

<div *ngFor="let t of todos;" class="list-item">
  <span class="list-item__checkbox">&nbsp;</span>
  <textarea class="todo-item__textarea"
    (input)="onTodoKeyEvent($event, t)"
    (keydown)="onTodoKeyEvent($event, t)"
    ([ngModel])="t.text"
    ></textarea>
  {{t.text}}
</div>

onTodoKeyEvent方法调用update函数,更新数组中的todo数据。

onTodoKeyEvent(event, todo) {
  this.updateTodo({
    id: todo.id,
    text: event.target.value + 'additional text'
  });
}

我使用 getter:

从服务中获取待办事项到控制器
get todos(): Todo[] {
  return this.todoDataService.get();
}

更新函数:

update(data: Todo) {
  let todo = this.todos[data.id];
  Object.assign(todo, data);
}

问题是我可以在 todos 数组中看到新数据,并且在 {{t.text}} 处可见,但是 textarea 中的值,模型值,与输入的值相同,所以它感觉就像单向绑定。

为什么会这样,我该如何解决?谢谢。

[(ngModel)]="t.text",不是([ngModel])="t.text"

他们称之为Bananas in a box:

这是盒子:[ ] 这些是香蕉:( )