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.9分钟了解!湖北雅苑麻将辅... 1.9分钟了解!湖北雅苑麻将辅助器脚本软件,湖北雅苑麻将总是是有辅助器解谜方法1、全新机制【湖北雅苑...
总算了解!茉莉开挂脚本软件,茉... 总算了解!茉莉开挂脚本软件,茉莉都是真的有开挂科普方法1、操作简单,无需茉莉手机版透视脚本,只需要使...
重大通报!堆金城棋牌辅助脚本软... 重大通报!堆金城棋牌辅助脚本软件,堆金城棋牌竟然是真的有辅助揭幕工具1、堆金城棋牌免费脚本咨询教程、...
科普分享!和谐透视挂脚本软件,... 科普分享!和谐透视挂脚本软件,和谐一贯存在有透视挂专业脚本所有人都在同一条线上,像星星一样排成一排,...
热门推荐!博雅玉溪棋牌辅助脚本... 热门推荐!博雅玉溪棋牌辅助脚本软件,博雅玉溪棋牌都是真的是有辅助详情工具1、博雅玉溪棋牌公共底牌简单...
发现一款!微乐家乡麻将开挂脚本... 发现一款!微乐家乡麻将开挂脚本软件,微乐家乡麻将一贯是真的有开挂有挂app1、下载好微乐家乡麻将脚本...
玩家攻略推荐!打哈儿麻将透视脚... 玩家攻略推荐!打哈儿麻将透视脚本软件,打哈儿麻将一贯是真的有透视揭幕工具1、金币登录送、破产送、升级...
盘点一款!贵花麻将辅助器脚本软... 盘点一款!贵花麻将辅助器脚本软件,贵花麻将都是是真的有辅助器揭露攻略1、贵花麻将免费脚本咨询教程、贵...
重大通报!温州茶苑开挂脚本软件... 重大通报!温州茶苑开挂脚本软件,温州茶苑竟然是真的有开挂推荐脚本1、该软件可以轻松地帮助玩家将温州茶...
传递经验!君澜娱乐开挂脚本软件... 传递经验!君澜娱乐开挂脚本软件,君澜娱乐好像是有开挂详细工具传递经验!君澜娱乐开挂脚本软件,君澜娱乐...