我正在尝试将应用程序迁移到使用ChangeDetectionStrategy.OnPush
. 但是,我在尝试使用一些反应形式时遇到了一些障碍。
我有一个可重用的控件,它根据一些状态标志(例如*ngIf="control.touched && control.invalid"
)显示验证消息。我遇到的问题是无法检测touched
标志何时更改,因此无法使用ChangeDetectorRef
.
它可以通过监听click
事件来引用输入元素本身来完成,但这并不能说明何时markAsTouched()
使用,并且传递对元素的引用并不总是可能的,而且总是不雅的。
有没有一种方法可以使用OnPush
并且仍然响应表单控件状态(例如touched
),或者它只是通常很痛苦?