используя метод ngOnInit() на странице Ionic - нужно ли нам импортировать OnInit и писать, что Class реализует OnInit?

Это код, который используется для загрузки переменной с данными на странице с использованием метода ngOnInit:

ngOnInit

Однако я заметил, что даже если мы не импортируем OnInit (строка 1) и не пишем implements OnInit (строка 10), метод все равно вызывается. Какова наилучшая практика?


person variable    schedule 14.12.2018    source источник
comment
Не публикуйте свой код в виде изображения. Его трудно читать, он препятствует поиску по тексту и снижает общую презентационную ценность поста.   -  person Suraj Rao    schedule 14.12.2018
comment
@veben метод работает, даже если мы не импортируем и не внедряем. Достаточно написать ngOnInit(){...сделать что-нибудь...} и это сработает. Отсюда вопрос.   -  person variable    schedule 14.12.2018
comment
@veben это .. неправда. Вы можете использовать без него   -  person Suraj Rao    schedule 14.12.2018
comment
здесь angular.io/guide/   -  person Suraj Rao    schedule 14.12.2018


Ответы (1)


Прежде всего, если вы используете Ionic, я бы посоветовал проверять события жизненного цикла ionic. Дополнительную информацию можно найти здесь.

Чтобы ответить на ваш вопрос, если вы хотите использовать OnInit, вы должны импортировать OnInit и добавить implements OnInit в объявление класса (как вы уже сделали). Если вы этого не сделаете, проверки типов машинописного текста выдадут вам сообщение об ошибке (поскольку это машинописный текст). Это хорошая практика, и валидаторы не будут кричать о недопустимом коде.

Если вы не хотите добавлять implements OnInit, вы можете использовать событие ionViewDidLoad или любое другое, которое лучше всего подходит для ваших нужд.

Итак, подведем итоги относительно лучших практик:

  • Используйте одно из событий Ionic, если вы разрабатываете приложение Ionic и создаете страницу.
  • Используйте ngOnInit и сделайте implements OnInit рядом с объявлением класса, если вы разрабатываете приложение Angular ИЛИ если вам нужно что-то сделать при инициализации компонента в Ionic.
person Patiss    schedule 14.12.2018
comment
Вы можете использовать ngOninit без реализации интерфейса (рекомендуется реализовать их). И вы также можете использовать хуки жизненного цикла angular в ionic. например: stackoverflow.com/questions /43703271/ - person Suraj Rao; 14.12.2018
comment
@SurajRao Конечно, ты можешь! Это то, что я написал, что вы можете использовать ngOnInit, но не рекомендуется использовать его без реализации оператора OnInit. Что касается ionViewDidLoad, поскольку автор запрашивает у него компонент, загружающий страницу, я предложил использовать ionViewDidLoad вместо ngOnInit. - person Patiss; 14.12.2018
comment
Ваш ответ, кажется, предлагает не использовать угловые крючки в Ionic, что не обязательно верно. В остальном не вижу ничего плохого - person Suraj Rao; 14.12.2018