programming/IONIC
constructor, ngOnInit, IonViewdedLoad 메소드의 차이점
헤써니
2018. 9. 19. 09:51
constructor()
* 자바스크립트 엔진에서 호출됩니다.
ES6 개념이며 라이프사이클 후크의 일부입니다.
Angular가 구성요소 초기화를 언제 했는지 알 수 있는 위치는 아닙니다.
이용: 의존성 주입
import { NavController } from 'ionic-angular';
class MyComponent {
constructor(public navCtrl: NavController) { //의존성 주입
}
}
ngOnInit()
* Angular 라이프 사이클 후크입니다.
Angular 컴포넌트 설정이 완료되면 실행됩니다.
즉, 이 시점에서 속성 바인딩이 수행됩니다.
이용: 구성요소 데이터 초기화 (정적 데이터나 NavParams을 통해 온 데이터)
ionViewDidLoad()
* Ionic 네비게이션 라이프사이클 이벤트입니다.
Angular 의 ngOnInit 와 비슷합니다.
페이지가 만들어졌을 때 한번 호출하고 캐시해둡니다.
페이지가 캐시된 이후에 뜨는 페이지(ex 모달)가 뜰 때 발생하지 않습니다.
그래도 모달에서 쓸 값들을 이곳에 세팅해도 모달에서 캐시된 이후에 뜨는 페이지에서 사용할 수 있습니다.
이용: 페이지에서 이용할 코드 설정
참고 사이트
https://ionicframework.com/docs/api/navigation/NavController/