我现在开始学习角度,并试图了解Observable的概念以及如何使用它们。
我已经阅读了有角度的文档中有关它们的所有内容,但是我或者没有正确理解该概念,或者根本无法理解。
我将解释我的想法:
我有一个输入元素:
<div class="response" *ngFor="let reply of currentResponse.replies">
<input style="word-break: break-all;" type="text" placeholder="Message" value="{{ reply.text }}"/>
</div>
并在组件中作为属性:
fileData: ResponseModel[];
// and
currentResponse: ResponseModel
ResponseModel作为上下文:
class ResponseModel {
constructor(
public id: string,
public replies: Array<Reply>,
public suggestedActions: [],
public inputHint: string
) {}
}
我的想法:
是否有可能将输入的onchange
事件附加到fileData
数组或currentResponse
属性,以便当输入中的值更改时,该值也将更改在数组中。
然后,当fileData
数组中的值更改时,更新填充它的服务。
或者如果我误解了Observable的使用。
谢谢, 内斯特(Nestor)
答案 0 :(得分:1)
您可以使用角度两种方式绑定[[ngModel)]:
<input [(ngModel)]="yourVariableName"><input>
变量应为字符串类型。因此,Input与该变量相关,每当您更改该变量时,输入内的文本就会更新,反之亦然(当您在输入内编写时,该变量也会更新)。
答案 1 :(得分:0)
该数组包含对对象的引用。将数组项绑定到值value="{{ reply.text }}"
时,currentResponse.replies
的引用将附加到此对象。因此,当您更新输入框的值时,它会自动更新数组。