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

相关内容

热门资讯

让我来分享经验!微乐麻将脚本掌... 让我来分享经验!微乐麻将脚本掌上程序(外挂),微乐三带一贯有透视挂app1、下载好微乐麻将脚本掌上程...
2分钟细说!微信微乐跑得快游戏... 2分钟细说!微信微乐跑得快游戏辅助脚本(辅助),微乐A三纸牌都是真的有透视挂软件1、让任何用户在无需...
我来教教大家!在哪里下载微乐自... 我来教教大家!在哪里下载微乐自建房辅助软件(透视器),微乐龙江填大坑果然真的有透视挂app所有人都在...
一分钟了解!微信小程序微乐辅助... 一分钟了解!微信小程序微乐辅助器免费版(开挂),微乐北京麻将本来真的有透视挂app1、游戏颠覆性的策...
必备辅助推荐!微乐贵阳捉鸡麻将... 必备辅助推荐!微乐贵阳捉鸡麻将开挂(辅助),微乐常州麻将一直真的是有透视挂攻略1、微乐贵阳捉鸡麻将开...
必看攻略!微乐自建房安装挂(开... 必看攻略!微乐自建房安装挂(开挂),微乐陕西麻将好像有透视挂软件1、点击下载安装,微乐自建房安装挂脚...
普及知识!微乐贵阳捉鸡麻将辅助... 普及知识!微乐贵阳捉鸡麻将辅助(开挂),雀神智能小程序总是是真的有透视挂技巧一、微乐贵阳捉鸡麻将辅助...
记者揭秘!微乐游戏竞技团辅助(... 记者揭秘!微乐游戏竞技团辅助(透视器),微乐三丁拐麻将都是有透视挂方法1、微乐游戏竞技团辅助免费辅助...
揭秘一下!微信小程序微乐辅助器... 揭秘一下!微信小程序微乐辅助器免费版v2.0免费(开挂),微乐三丁拐好像存在有透视挂技巧微信小程序微...
科技通报!微信微乐自建房脚本免... 科技通报!微信微乐自建房脚本免费下载(开挂),微乐游戏棋牌本来是真的有透视挂app1、用户打开应用后...