Конструктор предопределена метод класса Машинопись по умолчанию. Между Угловым и constructor
нет никакой связи. Обычно мы используем constructor
для определения/инициализации некоторых переменных, но когда у нас есть задачи, связанные с привязками Углового, мы переходим к крюку жизненного цикла Angular ngOnInit
. ngOnInit
вызывается сразу после вызова конструктора. Мы также можем выполнять ту же работу в конструкторе, но предпочтительно использовать ngOnInit
, чтобы начать привязку Углового.
для того, чтобы использовать ngOnInit
мы должны импортировать этот крюк из библиотеки ядра:
import {Component, OnInit} from '@angular/core'
Затем реализовать этот интерфейс с экспортируемым классом (это не является обязательным для реализации этого интерфейса, но в целом мы сделали).
Пример использования как:
export class App implements OnInit{
constructor(){
//called first time before the ngOnInit()
}
ngOnInit(){
//called after the constructor and called after the first ngOnChanges()
}
}
Более подробно см также Difference between Constructor and ngOnInit
Но вы не ответили на реальный вопрос. который мы должны использовать в этом случае ..? –
ngOnInit не вызывается сразу после вызова конструктора, между ними есть ngOnChanges: https://angular.io/guide/lifecycle-hooks – Hazlo8