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)原来是真的有挂(透视)wpk辅助购买(玩家教程)1、这是跨平台的wpk辅助购买黑科...
透视总结(WPK)本来是真的有... 透视总结(WPK)本来是真的有挂(透视)wpk辅助是什么(2025新版教程);1、游戏颠覆性的策略玩...
透视挂透视(WPK)一贯是真的... 透视挂透视(WPK)一贯是真的有挂(透视)如何判断wpk辅助软件的真假(德州教程);1、进入到如何判...
透视计算(WPK)一直真的有挂... 透视计算(WPK)一直真的有挂(透视)wpk模拟器(教你攻略)wpk模拟器辅助器中分为三种模型:wp...
透视插件(WPK)确实有挂(透... 透视插件(WPK)确实有挂(透视)wpk辅助器是真的吗(科技教程)1、首先打开wpk辅助器是真的吗最...
透视讲解(WPK)切实是真的有... 透视讲解(WPK)切实是真的有挂(透视)wpk私人局辅助是真的吗(黑科技教程)1、wpk私人局辅助是...
透视能赢(WPK)都是存在有挂... 透视能赢(WPK)都是存在有挂(透视)wpk俱乐部是真的吗(可靠教程);一、wpk俱乐部是真的吗AI...
透视智能ai(WPK)一贯是有... 透视智能ai(WPK)一贯是有挂(透视)wpk辅助是什么(必备教程)1、很好的工具软件,可以解锁游戏...
透视软件(WPK)果然是真的有... 透视软件(WPK)果然是真的有挂(透视)wpk辅助器是真的吗(AI教程)1、该软件可以轻松地帮助玩家...
透视透视挂(WPK)都是是有挂... 透视透视挂(WPK)都是是有挂(透视)wpk辅助器(德州论坛)1、许多玩家不知道wpk辅助器辅助软件...