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

相关内容

热门资讯

透视辅助!约局吧德州真的有透视... 透视辅助!约局吧德州真的有透视挂吗,pokemmo修改器手机版,玩家教程(有挂规律)约局吧德州真的有...
透视好友!wepoker免费透... 透视好友!wepoker免费透视脚本,果然有挂(透视)科技教程(有挂教程)1、wepoker免费透视...
透视玄学!wpk辅助插件,wp... 透视玄学!wpk辅助插件,wpk有作弊吗,系统教程(真是是真的有挂)1、很好的工具软件,可以解锁游戏...
透视辅助!aa poker辅助... 透视辅助!aa poker辅助,佛手在线大菠萝智能辅助器,力荐教程(有挂揭秘)所有人都在同一条线上,...
透视教程!德普之星透视辅助软件... 透视教程!德普之星透视辅助软件是真的吗,一贯是真的有挂(透视)德州教程(有挂解说)1、上手简单,内置...
透视计算!购买的wpk辅助在哪... 透视计算!购买的wpk辅助在哪里下载,wpk真的有透视嘛,教你攻略(好像有挂)亲,关键说明,购买的w...
透视脚本!聚星ai辅助工具收费... 透视脚本!聚星ai辅助工具收费多少,steampokermaster辅助,科技教程(有挂工具);一、...
透视辅助!wepoker怎么开... 透视辅助!wepoker怎么开辅助,本来是有挂(透视)分享教程(有挂揭秘)1、下载好wepoker怎...
辅助透视!wpk刷入池率脚本,... 辅助透视!wpk刷入池率脚本,wpk辅助器是真的吗,AI教程(竟然真的是有挂);1、游戏颠覆性的策略...
透视游戏!菠萝德州透视脚本,哈... 透视游戏!菠萝德州透视脚本,哈糖大菠萝挂法,实用技巧(有挂脚本)1、打开软件启动之后找到中间准星的标...