![](/img/trans.png)
[英]Can't call AppComponent function inside ngOnInit : “Object doesn't support property or method”
[英]Why can't I access a global property inside the ngOnInit Method?
我正在向在線 api (randomuser.me) 注入一個基本的 http 請求,我想用結果創建一個包含 3 個對象的數組。 我正在嘗試訂閱 observable 並創建包含每個人 object 的姓名和姓氏的局部變量。 但是,我不能將此對象推送到我首先聲明的根級別屬性,正如它所說,“不能推送到未定義。我正在使用 Angular 12
這是.ts代碼:
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-beneficiario-card',
templateUrl: './beneficiario-card.component.html',
styleUrls: ['./beneficiario-card.component.scss'],
})
export class BeneficiarioCardComponent implements OnInit {
@Output() usuariosEmitter = new EventEmitter<any[]>();
public beneficiarios: any[];
private benerficiariosUrl = 'https://randomuser.me/api/?results=1';
constructor(private http: HttpClient) {}
ngOnInit() {
this.http.get(`${this.benerficiariosUrl}`).subscribe((data: any) => {
const name = data.results.map(
(usuario: string) => usuario['name']['first']
);
const last = data.results.map(
(usuario: string) => usuario['name']['last']
);
const beneficiario: Beneficiarios = { name: name[0], last: last[0] };
this.beneficiarios.push(beneficiario);
});
}
}
export interface Beneficiarios {
name: string;
last: string;
}
提前致謝。
您只聲明了數組並沒有對其進行初始化。 嘗試這樣做
public beneficiarios: any[] =[];
這應該解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.