3

我对 Angular 4 很陌生,

你能告诉我在构造函数中调用像 initializeMyObj() 这样的方法与在 ts 文件中调用 ngOnInit 有什么不同吗?

谢谢

4

1 回答 1

3

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

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

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

@Component({
...
})
export class MyComp{
    @Input() someprop;
    constructor(){
        console.log(someprop); //undefined
    }
    ngOnInit(){
        console.log(someprop); 
    }
}
于 2018-01-14T12:22:05.143 回答