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

相关内容

热门资讯

重磅来袭!wepoker辅助挂... 重磅来袭!wepoker辅助挂多功能透视工具,一贯是有挂(有挂方法)1、wepoker脚本辅助下载、...
玩家必看科普!德普之星辅助挂多... 玩家必看科普!德普之星辅助挂多功能透视工具,一贯真的是有挂(有挂规律)1、点击下载安装,德普之星脚本...
最新技巧!wepoker辅助挂... 最新技巧!wepoker辅助挂多功能透视工具,竟然存在有挂(有挂技巧)1、完成wepoker有辅助插...
三分钟了解!aapoker辅助... 三分钟了解!aapoker辅助挂多功能透视工具,都是真的有挂(有挂功能)aapoker透视方法中分为...
一分钟揭秘!智星菠萝德州辅助挂... 一分钟揭秘!智星菠萝德州辅助挂多功能透视工具,切实真的有挂(有挂助手)一分钟揭秘!智星菠萝德州辅助挂...
重要通知!智星菠萝德州辅助挂多... 重要通知!智星菠萝德州辅助挂多功能透视工具,切实真的是有挂(真的有挂)1、不需要AI权限,帮助你快速...
每日必看教程!智星菠萝德州辅助... 每日必看教程!智星菠萝德州辅助挂多功能透视工具,确实真的是有挂(详细教程)1、智星菠萝德州免费脚本咨...
重磅来袭!德普之星辅助挂多功能... 重磅来袭!德普之星辅助挂多功能透视工具,都是是真的有挂(有挂透明挂)一、德普之星可以开透视的定义与意...
让我来分享经验!德扑圈辅助挂多... 让我来分享经验!德扑圈辅助挂多功能透视工具,本来真的有挂(有挂猫腻)1、上手简单,内置详细流程视频教...
重大通报!智星菠萝德州辅助挂多... 重大通报!智星菠萝德州辅助挂多功能透视工具,本来是有挂(有挂实锤)1、智星菠萝德州免费脚本咨询教程、...