`[(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"> </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:
这是盒子:[ ]
这些是香蕉:( )
我有一个待办事项列表项目,其中每个条目都是一个输入(内联修改)。
<div *ngFor="let t of todos;" class="list-item">
<span class="list-item__checkbox"> </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:
这是盒子:[ ]
这些是香蕉:( )