hsunny study blog

constructor, ngOnInit, IonViewdedLoad 메소드의 차이점 본문

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/

https://stackoverflow.com/questions/40629704/angular-2-and-ionic-2-what-are-the-differences-between-constructor-ionviewdidl