首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角度:生命周期方法中的重复--发射序列

角度:生命周期方法中的重复--发射序列
EN

Stack Overflow用户
提问于 2022-02-15 15:34:29
回答 1查看 81关注 0票数 0

刚刚执行了一段简单的代码:

代码语言:javascript
运行
复制
import { Component } from '@angular/core';

function log(...args: Array<any>) {
  console.log.apply(null, args);
}

@Component({
  selector: 'app-root',
  template: '',
})
export class AppComponent {
  value = 'Some value';

  ngAfterContentInit(arg: any) {
    log('ngAfterContentInit');
  }

  ngAfterContentChecked(arg: any) {
    log('ngAfterContentChecked');
  }

  ngAfterViewInit(arg: any) {
    log('ngAfterViewInit');
  }

  ngAfterViewChecked(arg: any) {
    log('ngAfterViewChecked');
  }

  ngDoCheck(arg: any) {
    log('ngDoCheck');
  }
}

请参阅https://stackblitz.com/edit/angular-7xmjmb?file=src/app/app.component.ts (StackBlitz总是在编译时加载,不知道为什么。你会看到同样的永久加载预览吗?)

它产生了一系列的消息: ngDoCheck,ngAfterContentInit,ngAfterContentChecked,ngAfterViewInit,ngAfterViewChecked,

-角在发展模式中运行。调用enableProdMode()以启用生产模式。--

ngDoCheck,ngAfterContentChecked,ngAfterViewChecked.

为什么ngAfterContentChecked和ngAfterViewChecked在ngDoCheck之后又出现了?我的建议是,原因是在ngDoCheck再次执行内容和视图检查之后(因为ngDoCheck可以对它们做一些事情)。但是为什么在查看检查之后没有执行内容检查,而ngAfterViewCheck可以对内容做一些事情。

这背后的逻辑是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-02-15 16:17:34

您的index.html文件选择错误。

应:

代码语言:javascript
运行
复制
<my-app>loading</my-app>

这里起作用了:https://stackblitz.com/edit/angular-hz5k5d?file=src%2Fapp%2Fapp.component.ts

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71129162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档