首页 > 解决方案 > Angular 2+从视图目标到数据源的一种方式数据绑定

问题描述

在我的角度应用程序中,我有一个允许用户设置描述值的元素。我希望该值在数据源中是可访问的。我使用 2-way 数据绑定使其工作,如下所示:

<textarea id="MediaDescription" name="description" class="form-control" [(ngModel)]="description"></textarea>

但是,考虑到我的用例,这里不需要 2 路数据绑定。虽然视图模型需要能够更新数据源,但事实并非如此。

我尝试使用 来执行此操作(ngModelChange),但这似乎没有被调用(我通过OnChanges()数据源中的方法输出值对此进行了测试)。

我怎样才能最好地重新编写此代码,以便我的<textarea>值仅从视图源绑定到数据源,而不是相反?

标签: angularangular2-databinding

解决方案


要在每次textarea内容更改时更新数据源,而不使用数据绑定,您可以ngModel自行应用指令以允许(ngModelChange)触发:

<textarea name="description" ngModel (ngModelChange)="description = $event" ...></textarea>

请参阅此 stackblitz以获取演示。


推荐阅读