在ngOnInit或构造函数中调用initialize方法

时间:2018-01-14 11:50:14

标签: angular constructor ngoninit

我是Angular 4的新手,

你能告诉我调用initializeMyObj()之类的方法有什么不同吗? 在构造函数中而不是ts文件中的ngOnInit?

谢谢

1 个答案:

答案 0 :(得分:1)

主要区别在于构造函数是typescript构造,而 ngOnInit 是组件和指令的生命周期钩子。

构造函数用于初始化组件。目前, @Input 绑定属性未初始化。

另一方面,在构造函数 ngOnChange 之后, ngOnInit 被称为一次。此时,组件已初始化并且属性已绑定。

@Component({
...
})
export class MyComp{
    @Input() someprop;
    constructor(){
        console.log(someprop); //undefined
    }
    ngOnInit(){
        console.log(someprop); 
    }
}