为了账号安全,请及时绑定邮箱和手机立即绑定

从 Angular 父组件传递到子组件的数据在子组件中未定义

从 Angular 父组件传递到子组件的数据在子组件中未定义

牛魔王的故事 2023-08-18 09:57:30
我有一个父组件将信息传递给子组件,但它是未定义的。如果这是 Angular 101,我很抱歉,但是如何延迟子组件渲染或运行任何 javascript,直到它获得所需的输入?拉取数据的父组件 ngOnInit:public ngOnInit(): void {     this.productService.getProductById(1).subscribe(product => {            this.product = product;        });}父组件 HTML:<child-component [product]="product" id="myProduct"></child-component>子组件输入声明:@Input() public product: Product;子组件 ngOnInit 需要产品存在:public ngOnInit(): void {     // It is returning as undefined     console.log(this.product);}
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

这是因为产品是异步加载的,因此当视图最初呈现时,产品是未定义的


 <child-component *ngIf="product" [product]="product" id="myProduct"></child-component>

您也可以使用 Onchanges


ngOnChanges(changes: SimpleChanges) {

    if (changes['product']) {

        let variableChange = changes['product'];

    }

}


查看完整回答
反对 回复 2023-08-18
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信