【发布时间】:2019-04-03 14:35:41
【问题描述】:
我有一个在页面加载时传递给 html 的值,但是当我使用其他函数时这个值会发生变化,然后该变量不再在 html 中更新。
我尝试使用 ngModel,但它不起作用,因为我有一个对象数组和一个对象。
html
<div *ngFor="let item of itens">
<textarea class="textarea" id="item-textarea" [value]="item.text">
</textarea>
</div>
Ts
public itens:any[] = [];
constructor() {
}
ngOnInit() {
this.initItens();
this.changeItens();
}
initItens() {
let item = new Item();
item.text = "Hello world";
return itens.push(item);
}
changeItens() {
let item = new Item();
item.text = "Bye bye World";
return itens.push(item);
}
我想知道如何在 .ts 文件中更新变量 itens 和 item (item.text) 时始终在 html 中更新它
谢谢。
【问题讨论】:
-
你能在 HTML 输出中显示值不正确的情况吗?问题中给出的代码似乎给出了正确的结果。请参阅this stackblitz(其中
return itens.push(item)已替换为return this.itens.push(item))。 -
[value]="item.text"应始终反映该值。我怀疑问题出在代码的另一部分,而不是您在此处发布的内容。 -
你能用
this.itens.push(item)代替itens.push(item)吗? -
就是这样!你的编辑不抱怨
itens is undefined吗?如果没有,它应该。正确的语法是this.itens。您也可能在控制台中遇到错误。 -
是的,我们刚刚告诉了你原因:)
标签: javascript angular forms