我有一个异步获取某些数据的服务。它正在导致组件渲染或我认为。在承诺的解决方案中只有一个console.log。为什么这会导致渲染?
CardView
错误:
constructor(private viewService: viewService) {
console.log('[MyView component] construction started');
viewService.getData(1).then(function(result) {
console.log('[MyView component] got data from service!');
});
console.log('[MyView component] construction complete!');
}
答案 0 :(得分:0)
猜测你从Promise / Observable的完成中设置myViewProperty
...尝试实现On Init
并执行此操作:
import { OnInit } from '@angular/core';
export class EventSelectionSearchComponent implements OnInit, OnDestroy {
constructor( private viewService: viewService ) {
}
ngOnInit(): void {
this.viewService.getData(1)
.then( data => {
this.myViewProperty = data;
});
}
[ ... ]
}
构造函数调用后组件的输入,输出或参数可能不可用。另一方面,ngOnInit
一个生命周期钩子,由Angular2调用,表示Angular已完成创建组件。