组件更新/渲染被触发

时间:2017-07-03 07:14:03

标签: angular

我有一个异步获取某些数据的服务。它正在导致组件渲染或我认为。在承诺的解决方案中只有一个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!');
}

1 个答案:

答案 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已完成创建组件。