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、完成战皇辅助器v3.3的残局,帮助...
一分钟揭秘!长虹大厅透视挂功能... 一分钟揭秘!长虹大厅透视挂功能方法,长虹大厅确实有透视挂方法(有辅助挂app)1、长虹大厅辅助器安装...
记者揭秘!好运联盟透视挂功能攻... 记者揭秘!好运联盟透视挂功能攻略,好运联盟真是存在有透视挂攻略(有辅助挂技术)1、好运联盟破解器简单...
最新技巧!YEFHY透视挂功能... 最新技巧!YEFHY透视挂功能插件,YEFHY本来是有透视挂插件(有辅助挂秘诀)1、让任何用户在无需...
热门推荐!百家乐透视挂功能教程... 热门推荐!百家乐透视挂功能教程,百家乐确实是有透视挂教程(有辅助挂方法)1、玩家可以在百家乐透视最简...
实测交流!丫丫永州扯胡子辅助器... 实测交流!丫丫永州扯胡子辅助器功能神器,丫丫永州扯胡子一直有辅助器神器(有辅助挂功能)1、超多福利:...
每日必看推荐!哈糖大菠萝辅助功... 每日必看推荐!哈糖大菠萝辅助功能方法,哈糖大菠萝原来是真的有辅助方法(有辅助挂方法)哈糖大菠萝能透视...
交流学习经验!天空麻将辅助器功... 交流学习经验!天空麻将辅助器功能脚本,天空麻将竟然是有辅助器脚本(有辅助挂教程)1、下载好天空麻将正...
解密关于!快玩炸翻天辅助功能插... 解密关于!快玩炸翻天辅助功能插件,快玩炸翻天都是是有辅助插件(有辅助挂攻略)1、玩家可以在快玩炸翻天...
专业讨论!乐禧棋牌透视功能ap... 专业讨论!乐禧棋牌透视功能app,乐禧棋牌切实真的是有透视app(有辅助挂教学)在进入乐禧棋牌软件靠...