将Angular2中的数据传递给子组件
您好,我在将数据从父组件传递到子组件控制器时遇到了一个小问题 这是我的父组件的标记代码将Angular2中的数据传递给子组件,angular,components,Angular,Components,您好,我在将数据从父组件传递到子组件控制器时遇到了一个小问题 这是我的父组件的标记代码parent.Component.html 我在控制台中得到了一个未定义的数据,但为什么?可能是异步问题,因为您似乎是从json获取数据,json可能是通过http或其他方式获取的。未定义的错误可能是由于在实际检索数据之前呈现视图,这将引发未定义的错误 尝试设置一个条件,即子组件在实际具有值之前不会被渲染: <element *ngIf="value" [mydata]="value"></
parent.Component.html
我在控制台中得到了一个未定义的数据,但为什么?可能是异步问题,因为您似乎是从json获取数据,json可能是通过http或其他方式获取的。未定义的错误可能是由于在实际检索数据之前呈现视图,这将引发未定义的错误 尝试设置一个条件,即子组件在实际具有值之前不会被渲染:
<element *ngIf="value" [mydata]="value"></element>
希望这有帮助
Value
是从Ajax填充的吗?不,这对我来说是有效的{{Value}
但是我如何在构造函数中使用这个变量呢?为什么要在构造函数中获取Value
。。您应该使用lifecycle事件…在我从构造函数加载JSON时,我需要一个不同的jsonfilename。因此,我将通过组件传递文件名。
<element *ngIf="value" [mydata]="value"></element>
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'element',
templateUrl: './element.component.html',
styleUrls: ['./element.component.scss'],
})
export class ElementComponent implements OnInit {
@Input() public mydata:string;
ngOnInit() {
console.log(this.mydata);
}
}