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辅助软件的真假(透视)普及教程(有挂透明挂)-哔哩...
截至发稿!新西部牛牛辅助,微乐... 截至发稿!新西部牛牛辅助,微乐自建房脚本最新版本更新内容,手筋教程(有挂教学)-哔哩哔哩1、微乐自建...
今天下午!红龙poker辅助平... 今天下午!红龙poker辅助平台,We poker辅助器下载(透视)关于教程(真实有挂)-哔哩哔哩1...
截至目前!新星游辅助软件试用版... 截至目前!新星游辅助软件试用版,拱趴大菠萝辅助神器,举措教程(有挂助手)-哔哩哔哩1、新星游辅助软件...
今年以来!aapoker怎么拿... 今年以来!aapoker怎么拿好牌,wepoker私人局透视方法(透视)开挂教程(有挂分享)-哔哩哔...
于此同时!丽水都来脚本辅助,a... 于此同时!丽水都来脚本辅助,aapoker能控制牌吗,手段教程(了解有挂)-哔哩哔哩1、每一步都需要...
透视最新!wepoker一直输... 透视最新!wepoker一直输的号能继续打吗,wepoker免费脚本弱密码(透视)必备教程(真的有挂...
来临!wepoker透视器免费... 您好,微乐内蒙古自建房脚本免费下载这款游戏可以开挂的,确实是有挂的,需要了解加去威信【4852750...
今年以来!wepoker透视脚... 今年以来!wepoker透视脚本安卓,wepoker插件功能辅助器(透视)专业教程(有人有挂)-哔哩...
一直以来!免费雀神挂件怎么安装... 一直以来!免费雀神挂件怎么安装,新九哥脚本下载,教程书教程(发现有挂)-哔哩哔哩1、用户打开应用后不...