私は実際に* ngForを使用してセレクターを繰り返し、子コンポーネントにもデータを送信しています。以下のコードをご覧ください。
<app-piegraph *ngFor="let studentData of studentData" [studentData]="studentData"></app-piegraph>
親コンポーネント:
studentData = {first: "harish",second: "santhu"}
子コンポーネント:
export class PiegraphComponent implements OnInit{
@Input('studentData') testObj;
constructor(){
console.log(this.testObj); //Getting undefined error message here
}
}
studentDataにオブジェクトが1つしかないため、データを繰り返したくありません。* ngForを使用せずにstudentDataオブジェクトを子コンポーネントに送信したいだけです。
これは可能ですか?
あなたstudentData
は配列であり、実行できるオブジェクトが1つしかないことは確かです。
<app-piegraph [studentData]="studentData[0]"></app-piegraph>
ここでは、配列でundefined
エラーが発生しないように、親コンポーネントで配列を初期化することを覚えておく必要があります。
また、@Input
コンストラクターで子の値をコンソールログに記録しようとしていますが、その時点では@Input
値はまだ使用できません。これは、コンソールログをOnInit
次の場所に移動することで解決できます。
export class PiegraphComponent implements OnInit{
@Input('studentData') testObj;
constructor(){ }
ngOnInit() {
console.log(this.testObj);
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加