try 在constructorngOnInit中获取组件的@Input值.但它一直都是undefined.

我用console.log更新了hero plunker以显示问题(beta).

export class HeroDetailComponent implements OnInit {
  constructor(){
    console.log('hero', this.hero)
  }
  public hero: Hero;
  
  ngOnInit() {
    console.log('hero', this.hero)
  }
}

我做错了什么?

推荐答案

ngOnInit中未定义的原因是,在初始化组件时,您实际上没有传入Hero对象

<my-hero-detail [hero]="selectedHero"></my-hero-detail>

此时,selectedHeroAppComponent中没有任何值,直到列表上的click事件调用onSelect方法,selectedHero才会有值

Edit:抱歉,我意识到我实际上没有提供解决方案.如果你把ngIf加到my-hero-detail

<my-hero-detail *ngIf="selectedHero" [hero]="selectedHero"></my-hero-detail>

您应该知道这将延迟my-hero-detail组件的初始化,并且您应该会看到控制台输出.然而,当所选英雄改变时,此wont再次输出.

Angular相关问答推荐

嵌套formArrays的HTML迭代

如何在投影项目组周围添加包装元素?

以Angular 将指令事件从子组件传递到父组件

Angular 16-错误NG8002:无法绑定到NGModel,因为它不是输入的已知属性

nx serve正在忽略@angular/localize/init的导入"

Ngrx Select 器返回部分对象

如何使用来自不同可观测对象的值更新可观测对象

如何在 Angular 中每 x 秒从 REST api 加载数据并更新 UI 而不会闪烁?

Angular Signals 如何影响 RXJS Observables 以及在这种情况下变化检测会发生什么

NX如何在前端和后端使用一个接口库

执行ng generate environments时出错时需要合集和原理图

Aws 代码部署在 BeforeBlockTraffic 步骤失败,即使在更新策略后也会超时

为什么 AngularFire .set() 永远等待响应并且不继续?

react形式的formGroup.get与formGroup.controls

CORS 错误:requests are only supported for protocol schemes: http…等

angular 2模板使用console.log

Angular - 是否有 HostListener-Events 列表?

得到了预期表达式的插值 ({{}})

如何在 Angular Material 中设置图标的 colored颜色 ?

如何将 @Input 与使用 ComponentFactoryResolver 创建的组件一起使用?