ngOnInit - это крючок жизненного цикла, называемый Angular2, чтобы указать, что Angular выполняется с созданием компонента.
ionViewDidLoad связан с событиями Ionic NavController lifeCycle. Он запускается при загрузке страницы. Это событие происходит только один раз на каждую страницу.
В принципе, оба являются хорошими местами для инициализации данных компонента.
Но для использования ngOnInit вам необходимо реализовать класс Angular OnInit
С другой стороны, ionViewDidLoad может быть определен только для компонентов, которые вытолкнули/выскочили из NavController.
Поэтому я бы сказал, что ionViewDidLoad для компонентов в стеке NavController и ngOnInit для других компонентов.
Ответ 2
Обе функции работают одинаково, они вызываются, когда представление первоначально загружается в DOM.
Отличный блог об крюках жизненного цикла ionic2s здесь.
Ответ 3
Инициирование ionViewDidLoad близко связано с NavController.
Если вам нужен крючок для компонента, который визуализируется независимо от NavController (не все компоненты в приложении с ионным 2 - страницы), вы должны использовать angular крючки жизненного цикла вместо ионные навигационные крючки.
Теперь, какой из них подходит для вас, это зависит от случая реализации.
В любом случае имена всех этих крючков в большинстве случаев являются самоочевидными.