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

相关内容

热门资讯

玩家必备科技!授权二厅辅助,决... 玩家必备科技!授权二厅辅助,决战十三水ios辅助,详细方法(有挂透视)进入游戏-大厅左侧-新手福利-...
详细说明!功夫川嘛辅助器是真的... 详细说明!功夫川嘛辅助器是真的假的,广东雀神智能辅助照片,详细工具(新版有挂)1、完成功夫川嘛辅助器...
终于知道!点我休闲辅助器,大唐... 终于知道!点我休闲辅助器,大唐山西辅助软件,详细app(有挂教学)1、下载好大唐山西辅助软件脚本下载...
必知教程!微乐广西麻辣辅助,打... 必知教程!微乐广西麻辣辅助,打大a辅助器,详细教程(有挂教学)微乐广西麻辣辅助是不是有人用挂微扑克w...
查到实测!哥哥打大a有没有辅助... 查到实测!哥哥打大a有没有辅助,拱趴大菠萝系统规律,详细神器(今日头条)1、许多玩家不知道哥哥打大a...
实操分享!微信雀神挂件辅助器,... 实操分享!微信雀神挂件辅助器,微信小程序开心泉州辅助器,详细脚本(详细教程)1、每一步都需要思考,不...
一起来讨论!奇迹脚本辅助,九江... 一起来讨论!奇迹脚本辅助,九江讨赏插件,详细神器(有挂工具)1、实时奇迹脚本辅助透视辅助更新:用户可...
关于!湖南赣湘互娱辅助,老友广... 关于!湖南赣湘互娱辅助,老友广东插件软件,详细脚本(有挂方略)1、进入游戏-大厅左侧-新手福利-激活...
揭秘真相!新道游辅助软件下载,... 揭秘真相!新道游辅助软件下载,好友赣南能装挂吗,详细插件(有挂实锤)1、该软件可以轻松地帮助玩家将新...
玩家亲测!wepoker内置辅... 玩家亲测!wepoker内置辅助器,边锋老友圈怎么开辅助,详细插件(真实有挂)边锋老友圈怎么开辅助透...