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

相关内容

热门资讯

记者揭秘!微信微乐小程序辅助器... 记者揭秘!微信微乐小程序辅助器免费安装,微乐家乡麻辣自建房-本来真的是有辅助神器(有挂辅助);1、微...
重大通报!微信小程序微乐房间怎... 重大通报!微信小程序微乐房间怎么开挂,微乐自建房辅助软件-其实是真的有辅助教程(有挂方式)所有人都在...
攻略讲解!微信小程序微乐辅助器... 攻略讲解!微信小程序微乐辅助器,微乐自建房脚本如何下载-确实存在有辅助教程(讲解有挂)1、微信小程序...
玩家攻略推荐!微信小程序微乐辅... 玩家攻略推荐!微信小程序微乐辅助器,收集微乐小程序游戏破解器-果然是真的有辅助方法(有挂细节)1、全...
必看攻略!微信微乐小程序有挂黑... 必看攻略!微信微乐小程序有挂黑科技,微乐小程游戏破解器下载-确实存在有辅助插件(有挂猫腻)进入游戏-...
研究成果!微信小程序微乐房间怎... 研究成果!微信小程序微乐房间怎么开挂,在哪里下载微乐自建房辅助软件-原来真的有辅助器(详细教程)1、...
一分钟揭秘!微信微乐小程序修改... 一分钟揭秘!微信微乐小程序修改器,微乐透视辅助工具-真是是有辅助方法(有挂分享)1、微信微乐小程序修...
玩家必看!微信小程序微乐辅助免... 玩家必看!微信小程序微乐辅助免费,微乐自建房辅助工具-一贯是有辅助脚本(有挂助手)微信小程序微乐辅助...
每日必看教程!微乐家乡麻辣自建... 每日必看教程!微乐家乡麻辣自建房辅助app,提高微乐运气的方法-原来有辅助教程(有挂总结)1、每一步...
一分钟了解!微乐小程序辅助工具... 一分钟了解!微乐小程序辅助工具,微信微乐有挂没有-都是真的是有辅助教程(有挂解惑)微乐小程序辅助工具...