메서드가 호출된 후에 정의되도 상관 없나요?
253
작성한 질문수 28
안녕하세요. 좋은 강좌 잘 듣고 있습니다.
종종 메서드가 호출이 되고, 그다음 정의되는 부분이 있습니다.
예를들어 아래의 코드에서는
SearchModel.list(query).then(data =>{
this.onSearchResult(data)
})
부분에서 onSearchResult가 먼저 호출되고, 정의 되는 것은 코드의 마지막 부분입니다. - 이런식으로 사용해도 되는 이유가 export와 관계가 있는 건가요?
- 아니면 hosting과 관계가 있는 건가요?
이도 저도 아니라면 뭐때문에 가능한건지 알고 싶습니다.
export default { init() {
FormView.setup(document.querySelector('form'))
.on('@submit', e => this.onSubmit(e.detail.input))
.on('@reset', e => this.onResetForm())
ResultView.setup(document.querySelector('#search-result'))
},
search(query){
//search api를 사용.
console.log(tag, 'search()', query);
SearchModel.list(query).then(data =>{
this.onSearchResult(data)
})
},
onSubmit(input){
console.log(tag, 'onSubmit()', input);
this.search(input)
},
onResetForm(){
console.log(tag, 'onResetForm()');
},
onSearchResult(data){
ResultView.render(data) //이 부분이 나중에 정의 되어도 상관 없는지?
}
}
답변 2
0
질문 이해가 좀 어려운데요..
이게 맞나요?
"어떻게 search() 정의부에서 코드 아래에 위치한 onSearchResult()를 호출하는가?"
지금은 함수를 정의하는 부분이기 때문에 괜찮습니다.
브라우져가 이 코드를 해석한뒤 실행하는 시점에는
모든 함수의 위치가 확인된 상태기 때문에 호출할수 있는 것이죠.
확신할순 없지만 함수 호이스팅이지 않을까 생각합니다.
강사님, 브랜치명 어떻게 만드셨어요?
2
209
1
이미지 파일 업데이트가 안돼있는 거 같습니다
1
502
1
git사용법을 잘 모르겠습니다..
1
495
1
@event 질문입니다.
1
254
1
return 문자열이 여러줄은 어떻게 설정하나요?
1
645
2
탭뷰에서 이벤트를 받아서 메인컨트롤러에게 전달만해주는 방식도 괜찮나요?
1
257
1
ResultComponent.vue 에러?
1
251
1
선생님 안녕하세요!
0
247
1
return new Promise 와 return Promise.resolve
2
474
1
바닐라
1
320
1
실습 관련 질무
1
248
1
event.preventDefault() 문의
1
291
1
컴퍼넌트 질문이 있습니다.
0
210
1
return this에 대해서 (재업로드)
0
355
1
return this에 대해서 이해가 잘 되지 않아요
0
1175
1
강의 내용을 따라 했는데도 안되는 문제
1
309
2
크롬으로 로컬 띄었더니 에러가나네요
1
323
0
에러가 나네요
1
329
2
git checkout 중에 질문드립니다.
1
302
1
bindEvent 메소드를 왜추가하는지 궁금해서 질문드립니다.
2
576
1
안녕하세요 vue.js 처음 입문하는데 강사님 강의로 시작하게 되었습니다.
0
217
1
index 페이지에서 main.js 관련 질문입니다
1
203
1
학습내용 정리 관련 질문입니다!
0
179
1
lite-server로 구현해야하는 이유는 무엇인가요~?
1
522
2





