有角度 – 什么是脱水检测器,我在这里使用一个?

前端之家收集整理的这篇文章主要介绍了有角度 – 什么是脱水检测器,我在这里使用一个?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当使用* ngIf激活元素时,我正在使用一个简单的指令来集中文本输入.这包含在* ngFor循环中.

当第一个* ngIf被激活时,输入按预期进行对焦.当另一个输入被激活时,我得到错误

例外:尝试使用脱水检测器.

我不明白这是什么意思,以及如何防止错误.该功能仍然可以使用错误.

@Directive({
    selector: '[myAutoFocus]'
})
export class AutoFocusDirective {
    constructor(private elem: ElementRef) {
        window.setTimeout(function() {
            elem.nativeElement.querySelector('input').focus();
        });
    }
}

“`

脱水检测器是从变更检测系统中删除的一个组件,通常是因为它已经通过* ngIf或其他 means从DOM中卸载:
如果在应用程序中有一个异步操作遇到已经卸载的检测器,那么错误thrown解决方案是在受影响的组件上使用[隐藏]而不是* ngIf,或者使用setTimeout(()=> this.offendingAction(),0)将违规操作推迟到下一个勾选

猜你在找的Angularjs相关文章