如何在Angular2中以编程方式进行脏输入或触摸输入?

时间:2016-04-05 10:17:29

标签: javascript angular

我需要使用一个带有Angular2的jquery插件。一般来说,这个插件会创建一个html的副本,它有输入。当数据发生变化时,angular2会重新呈现所有错误等。但是Jquery必须传递数据当事情发生变化时回到angular2。我是通过

做到的

ControlGroup.controls['control_id'].updateValue(value,{emitEvent,emitModelToViewChange}).

一切都很好,数据来了。但是jquery传递数据的angular2输入不会变脏或触摸,但我需要它来显示错误。如何强制输入被触摸或脏?提前谢谢。

P.S:我知道这一切都很糟糕,但我别无选择

2 个答案:

答案 0 :(得分:1)

有一个拉取请求可以使这些属性可用https://github.com/angular/angular/pull/7288/files

目前标有
- 当输入发出blur事件时触摸 - 当输入发出input事件

时更改

这些事件可能因不同类型的输入控件而异。

另见https://github.com/angular/angular/blob/master/modules/angular2/src/common/forms/directives/default_value_accessor.ts

答案 1 :(得分:-1)

我会在调用updateValueAndValidity之后使用updateValue

var ctrl = ControlGroup.controls['control_id'];
ctrl.updateValue(value,{emitEvent,emitModelToViewChange});
ctrl.updateValueAndValidity();