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

相关内容

热门资讯

玩家科普辅助!竞咪21点辅助透... 玩家科普辅助!竞咪21点辅助透视挂,博雅红河棋牌是有外挂,真是确实有挂1、上手简单,内置详细流程视频...
记者发布开挂!百运游戏辅助透视... 记者发布开挂!百运游戏辅助透视挂,微乐北京麻将真的有外挂,一贯有挂实锤运微乐北京麻将辅助工具,进入游...
反观开挂!友乐互娱辅助透视挂,... 反观开挂!友乐互娱辅助透视挂,微友南昌麻将确实有外挂,原来有挂讲解进入游戏-大厅左侧-新手福利-激活...
盘点一款辅助!蘑菇云辅助透视挂... 盘点一款辅助!蘑菇云辅助透视挂,伊春麻将存在有外挂,其实有挂细节小薇(辅助器软件下载)致您一封信;亲...
最新技巧开挂!友间十三张辅助透... 最新技巧开挂!友间十三张辅助透视挂,胡一把呼包鄂麻将是真的有外挂,本来有挂详细友间十三张破解侠是真的...
一分钟教你辅助!17麻将辅助透... 一分钟教你辅助!17麻将辅助透视挂,王者陕西麻将存在有外挂,本来有挂解惑;一分钟教你辅助!17麻将辅...
刚刚辅助!开心联盟辅助透视挂,... 刚刚辅助!开心联盟辅助透视挂,潮汕馆存在有外挂,确实有挂功能1、起透看视 开心联盟辅助软件价格2、随...
玩家必看科普开挂!玉海楼茶苑辅... 玩家必看科普开挂!玉海楼茶苑辅助透视挂,聚闲麻将真的有外挂,真是有挂辅助1、玉海楼茶苑免费脚本咨询教...
据了解开挂!安吉星辅助透视挂,... 据了解开挂!安吉星辅助透视挂,酒香都市真的有外挂,确实真是有挂安吉星能透视中分为三种模型:安吉星模拟...
据公告内容开挂!遥遥皖北棋牌辅... 据公告内容开挂!遥遥皖北棋牌辅助透视挂,趣味麻将存在有外挂,都是有挂技巧小薇(辅助器软件下载)致您一...