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

相关内容

热门资讯

玩家必看教程!wepokerp... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星透视解析、 AI 处理、德扑...
我来分享!德普之星透视辅助,w... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
重大发现!wepoker免费透... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
重磅来袭!智星德州有脚本吗,w... 您好:智星德州有脚本吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
发现一款!wepoker辅助透... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
玩家必备攻略!wepoker透... 玩家必备攻略!wepoker透视辅助下载,德普之星有没有透视挂助手(原本是有辅助器)AI 智能体黑科...
玩家必看教程!!we-poke... 玩家必看教程!!we-poker是什么软件,微扑克确实真的有挂神器(其实是真的有辅助)主打本地运行的...
一分钟带你了解!wepoker... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成wepoker底牌透视解析、 AI ...
教你攻略!wpk模拟器,微扑克... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
玩家必知教程!wepoker手... 玩家必知教程!wepoker手机插件,德扑之星开挂破解平台(从前存在有辅助挂)AI 是一款可以让一直...