Конструктор

  • Конструктор — это метод класса по умолчанию, который выполняется при создании экземпляра класса.
  • Конструктор обеспечивает правильную инициализацию полей (членов класса) в классе и его подклассах.
  • Angular Dependency Injector (DI) анализирует параметры конструктора.
  • Когда мы вызываем new MyClass(), он создает новый экземпляр класса.
  • При вызове new MyClass() мы должны передать точное соответствие типа параметра конструктору класса, например:
  • новый MyClass(arg1:число, arg2:строка, argN:любой)
  • Эти аргументы arg1:number, arg2:string, argN:any должны быть одного типа, определенного в конструкторе класса MyClass.

ngOnInit

  • ngOnInit — это хук жизненного цикла, вызываемый Angular, чтобы указать, что Angular завершил создание компонента.
  • ngOnInit не принимает никаких параметров.
  • Чтобы использовать OnInit, мы должны импортировать его в класс компонента следующим образом:
  • импортировать {Component, OnInit} из @angular/core;
  • На самом деле реализация OnInit в каждом компоненте не является обязательной. Но считается хорошей практикой.
  • Класс реализует OnInit следующим образом: класс экспорта AppComponent реализует OnInit { }

Разница между ngOnInit() и конструктором()

  • Мы используем конструктор() для всей инициализации/декларации.
  • Лучше избегать написания фактической работы в конструкторе.
  • Конструктор() следует использовать только для инициализации членов класса, но он не должен выполнять «работу».
  • Итак, мы должны использовать конструктор() для настройки внедрения зависимостей, инициализации полей класса и т. д.
  • ngOnInit() — лучшее место для написания «фактического рабочего кода», который нам нужно выполнить, как только будет создан экземпляр класса.
  • Подобно загрузке данных из базы данных — чтобы показать пользователю представление вашего HTML-шаблона. Такой код должен быть написан в ngOnInit().