angular2 form async validation ChangeDetectionStrategy.OnPus
发布时间:2020-12-17 17:39:45 所属栏目:安全 来源:网络整理
导读:[angular2 RC4 @ angular / forms module] 我有一个使用包含FormGroup的OnPush更改检测的组件. 此表单包含一个带有异步验证器的FormControl. 验证完成后(不再有待处理),视图不会刷新. 只有输入模糊事件才能刷新视图. 如果我删除OnPush更改检测,它可以正常工
[angular2 RC4 @ angular / forms module]
我有一个使用包含FormGroup的OnPush更改检测的组件. 验证完成后(不再有待处理),视图不会刷新. 如果我删除OnPush更改检测,它可以正常工作. This plunker demonstrates it. 这是一个有角度的错误还是我做错了什么? 解决方法
看起来你错过了使用ChangeDetectionStrategy.OnPush的目标.
您没有任何@Input属性或|组件上的异步管道,但它只是用这个策略更新视图状态 – 当Input属性更新时(理想情况下是一个新对象).所以只是摆脱当前的情况 UPDATE 如果在这种情况下仍然坚持使用OnPush,对于预期的行为,您应该手动触发更改检测. 从’@ angular / core’添加import {…,ChangeDetectorRef};并在构造函数中注入它的实例. 在您的方法中,您必须添加: uniqueNameAsync(control: FormControl): Promise<{[key: string]:any}>{ return new Promise(resolve => { setTimeout(() =>{ resolve(null); this.changeRef.markForCheck(); },500); }); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- TFTP协议是什么?
- twitter-bootstrap – 集成bootstrap-select以与Ember一起使
- monkey测试结果分析
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Gly
- Bootstrap 下拉多选框插件Bootstrap Multiselect
- yum 安装报 关于Public key for *.rpm is not installed 的
- Cakestp ClassRegistry :: init in bootstrap
- 请求WebService出现"因 URL 意外地以 结束,请求格式无法
- openLDAP如何从当前配置中删除nis架构
- 03.shell数组