вызвать метод инициализации в ngOnInit или конструкторе

Я очень новичок в Angular 4,

Можете ли вы сказать мне, в чем разница между вызовом метода, такого как initializeMyObj() в конструкторе, и ngOnInit в файле ts?

Спасибо


person user3477485    schedule 14.01.2018    source источник


Ответы (1)


Основное отличие заключается в том, что конструктор является конструкцией машинописного текста, тогда как ngOnInit является обработчиком жизненного цикла компонента и директивы.

Конструктор используется для инициализации компонента. В настоящее время связанные свойства @Input не инициализированы.

С другой стороны, ngOnInit вызывается один раз после конструктора и ngOnChange. В это время компонент инициализируется, а свойства привязаны.

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