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透视插件,德普之星的辅助工具介绍,都是真的有挂(确实有挂)1、让任何用户在无需德普之...
今日公布!竞技联盟辅助,丽水欢... 今日公布!竞技联盟辅助,丽水欢乐堂辅助插件,详细脚本(有挂方针)1、首先打开丽水欢乐堂辅助插件辅助器...
科普分享!宁夏划水辅助,青鸟辅... 科普分享!宁夏划水辅助,青鸟辅助安卓,详细教程(有挂方法)1、完成青鸟辅助安卓辅助器v3.3的残局,...
反观!uupoker透视,智星... 反观!uupoker透视,智星菠萝有挂吗,好像真的有挂(证实有挂)1、智星菠萝有挂吗脚本辅助下载、智...
一分钟了解!老友广东辅助器,钱... 一分钟了解!老友广东辅助器,钱塘十水三挂件,详细挂(有挂详情)1)钱塘十水三挂件辅助插件:进一步探索...
截至发稿!来玩app破解,德普... 截至发稿!来玩app破解,德普之星透视辅助软件是真的吗,竟然是真的有挂(有人有挂)1、玩家可以在德普...
科技揭秘!手游游戏挂机辅助,科... 科技揭秘!手游游戏挂机辅助,科乐辅助工作室,详细软件(有挂方法)1、该软件可以轻松地帮助玩家将手游游...
刚刚!aapoker辅助插件工... 刚刚!aapoker辅助插件工具,德普之星透视辅助软件下载,切实是有挂(有挂方针)1、首先打开德普之...
推荐一款!h5能反杀吗,微信后... 推荐一款!h5能反杀吗,微信后羿大厅辅助,详细方法(有挂教程)1、完成微信后羿大厅辅助辅助器v3.3...
此事引发广泛关注!德普之星辅助... 此事引发广泛关注!德普之星辅助器怎么用,德扑之星透视辅助插件,果然是真的有挂(有挂头条)1、下载好德...