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() 不会被调用。

相关内容

热门资讯

透视脚本!wepoke ai辅... 透视脚本!wepoke ai辅助,wepoke挂透视,详细透视教你攻略;运wepoke ai辅助辅助...
wepoke有辅助挂!wpk辅... wepoke有辅助挂!wpk辅助器是真是假(透视)一贯是真的有挂(详细辅助必胜教程)1、这是跨平台的...
透视辅助!wepoke智能ai... 透视辅助!wepoke智能ai,wepower德州扑克,详细透视扑克教程wepoke智能ai是一种具...
德州之星辅助挂!德州扑克辅助器... 德州之星辅助挂!德州扑克辅助器(透视)都是是真的有挂(详细辅助AA德州教程)德州之星辅助挂辅助器中分...
透视最新!wepoke真的有挂... 透视最新!wepoke真的有挂,wepoke防外挂,详细透视2025新版技巧wepoke真的有挂辅助...
德州之星外挂!aapoker辅... 一、德州之星外挂简介了解软件请加微:136704302德州之星外挂是一款在线扑克游戏平台,玩家可以在...
透视透视挂!wepoke辅助挂... 透视透视挂!wepoke辅助挂,wepoke ai代打辅助,详细透视解密教程运wepoke辅助挂辅助...
德州之星有外挂!微扑克有没有挂... 德州之星有外挂!微扑克有没有挂(透视)原生真的是有挂(详细辅助AI教程)1、很好的工具软件,可以解锁...
透视私人局!wepoke真的有... 透视私人局!wepoke真的有挂,wepoke ai代打辅助,详细透视攻略方法1、起透看视 wepo...
德州ai辅助有用!线上德州ai... 德州ai辅助有用!线上德州ai机器人(透视)其实真的是有挂(详细辅助2025版教程)1、金币登录送、...