大佬教程收集整理的这篇文章主要介绍了angular2 form async validation ChangeDetectionStrategy.OnPush =没有视图刷新?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用包含FormGroup的OnPush更改检测的组件.
此表单包含一个带有异步验证器的FormControl.
验证完成后(不再有待处理),视图不会刷新.
只有输入模糊事件才能刷新视图.
如果我删除OnPush更改检测,它可以正常工作.
您没有任何@Input属性或|组件上的异步管道,但它只是用这个策略更新视图状态 – 当Input属性更新时(理想情况下是一个新对象).所以只是摆脱当前的情况
如果在这种情况下仍然坚持使用OnPush,对于预期的行为,您应该手动触发更改检测.
从’@ angular / core’添加import {…,ChangeDetectorRef};并在构造函数中注入它的实例.
uniquenameAsync(control: FormControl): Promise<{[key: String]:any}>{ return new Promise(resolve => { setTimeout(() =>{ resolve(null); this.changeRef.markForcheck(); },500); }); }
以上是大佬教程为你收集整理的angular2 form async validation ChangeDetectionStrategy.OnPush =没有视图刷新?全部内容,希望文章能够帮你解决angular2 form async validation ChangeDetectionStrategy.OnPush =没有视图刷新?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。