NgOnInit 在 angular2 中设置值
NgOnInit set value in angular2
我在为 ngOnInit() 函数中的变量设置值时遇到了一些问题。设置后我试图在控制台中查看变量,但我只收到 "undefined"。如何让它发挥作用?
export class GalleryComponent implements OnInit {
actualModelType: modelInterface[];
femaleModels: modelInterface[];
constructor(private _femaleModelsService: FemaleModelsService) {
this.actualModel = null;
this.clicked = false;
}
ngOnInit() {
this._femaleModelsService.getFemaleModels()
.subscribe( responseFemaleModelsData => this.femaleModels = responseFemaleModelsData );
this.actualModelType = this.femaleModels;
console.log( this.actualModelType, this.femaleModels );
}
}
您在这里遇到的问题是您正在调用 FemaleModelsService 的数据,但您也在分配您还没有的值。
Observable 和 Promises 是异步的,因此您必须等待它们的响应才能操纵它们返回给您的内容。正如 jonrsharpe 所解释的那样,您必须在回调中获取数据才能执行您要查找的操作。
试试这个:
ngOnInit() {
this._femaleModelsService.getFemaleModels().subscribe(
responseFemaleModelsData => {
this.femaleModels = responseFemaleModelsData;
this.actualModelType = this.femaleModels;
console.log(this.actualModelType, this.femaleModels);
}
);
}
我在为 ngOnInit() 函数中的变量设置值时遇到了一些问题。设置后我试图在控制台中查看变量,但我只收到 "undefined"。如何让它发挥作用?
export class GalleryComponent implements OnInit {
actualModelType: modelInterface[];
femaleModels: modelInterface[];
constructor(private _femaleModelsService: FemaleModelsService) {
this.actualModel = null;
this.clicked = false;
}
ngOnInit() {
this._femaleModelsService.getFemaleModels()
.subscribe( responseFemaleModelsData => this.femaleModels = responseFemaleModelsData );
this.actualModelType = this.femaleModels;
console.log( this.actualModelType, this.femaleModels );
}
}
您在这里遇到的问题是您正在调用 FemaleModelsService 的数据,但您也在分配您还没有的值。
Observable 和 Promises 是异步的,因此您必须等待它们的响应才能操纵它们返回给您的内容。正如 jonrsharpe 所解释的那样,您必须在回调中获取数据才能执行您要查找的操作。
试试这个:
ngOnInit() {
this._femaleModelsService.getFemaleModels().subscribe(
responseFemaleModelsData => {
this.femaleModels = responseFemaleModelsData;
this.actualModelType = this.femaleModels;
console.log(this.actualModelType, this.femaleModels);
}
);
}