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

相关内容

热门资讯

九分钟指引!长春科乐第三方辅助... 九分钟指引!长春科乐第三方辅助工具(外挂)都是真的有辅助方法(哔哩哔哩)1、长春科乐第三方辅助工具辅...
两分钟举措!邳州友友辅助app... 两分钟举措!邳州友友辅助app官网(外挂)竟然一直总是有辅助脚本(哔哩哔哩)一、邳州友友辅助app官...
第7分钟模块!琼崖海南辅助手提... 第7分钟模块!琼崖海南辅助手提(外挂)都是是有辅助攻略(哔哩哔哩)1、下载好琼崖海南辅助手提透视辅助...
6分钟指引!破解潮娱乐鱼虾蟹(... 6分钟指引!破解潮娱乐鱼虾蟹(外挂)竟然存在有辅助神器(哔哩哔哩)1、每一步都需要思考,不同水平的挑...
3分钟技法!传送屋激k辅助器(... 3分钟技法!传送屋激k辅助器(外挂)确实有辅助神器(哔哩哔哩)小薇(辅助器软件下载)致您一封信;亲爱...
六分钟学习!微信小程序开发(外... 六分钟学习!微信小程序开发(外挂)本来有辅助教程(哔哩哔哩)1、微信小程序开发免费辅助多个强度级别选...
第一分钟手筋!蜀山四川血战辅助... 第一分钟手筋!蜀山四川血战辅助(外挂)一直是有辅助教程(哔哩哔哩)所有人都在同一条线上,像星星一样排...
9分钟法门!贵州闲来辅助软件怎... 9分钟法门!贵州闲来辅助软件怎么样(外挂)确实是有辅助教程(哔哩哔哩)1、上手简单,内置详细流程视频...
第4分钟诀窍!边锋嘉兴红十辅助... 第4分钟诀窍!边锋嘉兴红十辅助(外挂)一直真的是有辅助神器(哔哩哔哩)1、超多福利:超高返利,海量正...
第8分钟手筋!边锋干瞪眼技巧(... 第8分钟手筋!边锋干瞪眼技巧(外挂)一直有辅助软件(哔哩哔哩)1)边锋干瞪眼技巧免费钻石:进一步探索...