在我的有角度的应用程序中,我有一个允许用户设置描述值的元素。我希望该值在数据源中可访问。我使用2-way数据绑定使它起作用,如下所示:
<textarea id="MediaDescription" name="description" class="form-control" [(ngModel)]="description"></textarea>
但是,考虑到我的用例,这里不需要2向数据绑定。虽然视图模型需要能够更新数据源,但事实并非如此。
我尝试使用(ngModelChange)
来执行此操作,但这似乎没有被调用(我通过通过数据源中的OnChanges()
方法输出值来对此进行了测试)。
如何最好地重写此代码,以使我的<textarea>
值仅从“视图源”绑定到“数据源”,而不是相反?
答案 0 :(得分:1)
您真的不需要[ 1 1 2 3 5 8 13 21 34 55]
。相反,您可以收听ngModel
事件
change
注意:<textarea id="MediaDescription" name="description" class="form-control" (change)="description = $event.target.value"></textarea>
事件仅在(change)
元素失去焦点时才触发。这是局限性。
答案 1 :(得分:1)
要在每次textarea
内容更改时更新数据源,而不使用数据绑定,可以单独应用ngModel
指令以允许触发(ngModelChange)
:
<textarea name="description" ngModel (ngModelChange)="description = $event" ...></textarea>
有关演示,请参见this stackblitz。