ber*_*ndg 5 angular2-forms angular
[angular2 RC4 + @ angular/forms module]
我有一个使用OnPush变化检测的组件包含FormGroup.此表单包含一个FormControl带async验证器的表单.
验证完成后(不再pending),视图不刷新.只有input模糊事件才能刷新视图.
如果我删除OnPush更改检测,它可以正常工作.
这是一个有角度的错误还是我做错了什么?
看起来你错过了使用的目标ChangeDetectionStrategy.OnPush.
您| async的组件上没有任何@Input属性或管道,但只有使用此策略更新视图状态 - 当Input属性更新时(理想情况下使用新对象).所以只是摆脱当前的情况
UPDATE
如果在这种情况下仍然坚持使用OnPush,对于预期的行为,您应该手动触发更改检测.
import {..., ChangeDetectorRef} from '@angular/core';在构造函数中添加并注入它的实例.
在您的方法中,您必须添加:
uniqueNameAsync(control: FormControl): Promise<{[key: string]:any}>{
return new Promise(resolve => {
setTimeout(() =>{
resolve(null);
this.changeRef.markForCheck();
}, 500);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1429 次 |
| 最近记录: |