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

相关内容

热门资讯

必胜教程开挂!wpk透视是真的... 必胜教程开挂!wpk透视是真的假的,德普之星开挂破解教程(原来真的是有开挂)AI 是一款可以让一直输...
最新技巧!辅助!wpk插件辅助... 最新技巧!辅助!wpk插件辅助,wepoker怎么开挂工具(一向真的是有辅助)AI 是一款可以让一直...
AI教程开挂!破解辅助插件we... 您好,AI教程开挂!破解辅助插件wepoker,微扑克能不能开挂神器(都是是有开挂)这款游戏可以开挂...
总算了解!开挂!wpk透视辅助... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
总结教程开挂!wepoker黑... 您好:wepoker黑侠辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
推荐十款!辅助器!wepoke... 推荐十款!辅助器!wepoker辅助器激活码,德普之星开挂破解脚本(固有是真的有辅助器)AI 是一款...
分享一款透视!德普软件,微扑克... 分享一款透视!德普软件,微扑克到底有没有透视挂神器(其实真的是有透视)AI 是一款可以让一直输的玩家...
揭秘真相透视!wpk辅助,微扑... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wpk辅助解析、 AI 处理、wpk...
系统教程辅助挂!德普之星透视辅... 您好,系统教程辅助挂!德普之星透视辅助插件,德扑之星真的有挂教程(确实真的是有辅助挂)这款游戏可以开...
玩家必备教程透视挂!wpk有作... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...