Angular中的detectChanges()不会触发ngDoCheck()
创始人
2024-10-31 03:30:52
0

使用 markForCheck() 方法代替 detectChanges() 方法。这种情况通常发生在组件使用了 OnPush 变更检测策略时。

示例代码:

@Component({ selector: 'app-example', templateUrl: './example.component.html', changeDetection: ChangeDetectionStrategy.OnPush }) export class ExampleComponent implements OnInit, DoCheck {

@Input() data: any;

constructor(private cdr: ChangeDetectorRef) { }

ngOnInit() { }

ngDoCheck() { console.log('ngDoCheck() called'); // 这条语句永远不会被执行 }

updateData() { // this.cdr.detectChanges(); // 不会触发 ngDoCheck() this.cdr.markForCheck(); // 会触发 ngDoCheck() }

}

在上面的代码中,使用了 OnPush 变更检测策略,同时实现了 DoCheck 接口。当调用 updateData() 方法时,使用了 markForCheck() 方法来通知 Angular 组件需要检测更新,这会触发 ngDoCheck() 方法的执行。相反,如果使用 detectChanges() 方法,ngDoCheck() 不会被调用。

相关内容

热门资讯

德州ai辅助app!德扑之星数... 德州ai辅助app!德扑之星数据解析,wepoke线上,解说技巧(起初是真的有挂)是一款可以让一直输...
黑科技美元局!(wpK)透视辅... 这是一款非常优秀的wpK ia辅助检测软件,能够让你了解到wpK中牌率当中全部隐藏参数,与同类wpK...
wpk俱乐部!pokermas... wpk俱乐部!pokermaster外挂,wpk ai是什么,系统教程(确实是有挂);人气非常高,a...
黑科技模拟器!(wpK)透视辅... 黑科技模拟器!(wpK)透视辅助神器,(WPk)原先有挂,可靠教程(有挂攻略);玩家必备必赢加哟《1...
微扑克有挂么!德扑之星app发... 微扑克有挂么!德扑之星app发牌规律,德州ai智能营销系统,2025新版总结(其实真的有挂);人气非...
黑科技辅助!(WEPOKE)软... 黑科技辅助!(WEPOKE)软件透明挂,(WEPoke)原生有挂,靠谱教程(有挂技巧)是一款可以让一...
黑科技教程!(WpK)透视辅助... 此外,数据分析德州(WpK)辅助神器app还具备辅助透视行为开挂功能,通过对客户WpK透明挂的深入研...
德扑ai软件购买!wepoke... 德扑ai软件购买!wepoke计算辅助,德扑之星刷数据,透牌教程(往昔真的是有挂);1.德扑之星刷数...
德州之星有辅助挂吗!微扑克线上... 德州之星有辅助挂吗!微扑克线上代打,wpk数据统计,必备教程(往昔有挂)是一款可以让一直输的玩家,快...
黑科技能赢!(wepokE)软... 黑科技能赢!(wepokE)软件透明挂,(wePOKE)固有有挂,解说技巧(有挂辅助);支持2-10...