Конструктор
- Конструктор — это метод класса по умолчанию, который выполняется при создании экземпляра класса.
- Конструктор обеспечивает правильную инициализацию полей (членов класса) в классе и его подклассах.
- 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().