티스토리 뷰

controller.js의 onInit 함수에서 manifest.json이나 component에 선언한 model을 가져와야 하는 경우가 있습니다.

이럴 때 우리는 controller에서 model 객체를 가져오는 this.getView().getModel("모델이름") 또는 this.getModel("모델이름") 함수를 사용하셨을 겁니다.

하지만 onInit에서 해당 함수를 사용했을 경우 undefined가 return 됩니다.

보통 controller에서 위의 문법처럼하면 model 객체를 잘 가져오는데 유독 onInit에서만 못 가져와서 이상하다고 생각하셨던 경험이 있으실 겁니다.

이것은 SAPUI5가 실행되는 구조적인 시점 문제 때문입니다.(SAPUI5 실행 순서는 여길보시면 됩니다.)

onInit 함수에서 manifest.json이나 component에 선언한 model을 가져와야 하는 경우는 아래와 같이 호출하시면 됩니다.

this.getOwnerComponent().getModel("모델이름")

댓글