강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của inomosaic0443
inomosaic0443

câu hỏi đã được viết

Tìm hiểu cách phát triển JavaScript và VueJS thuần túy thông qua phát triển giao diện người dùng thực hành

Triển khai kết quả tìm kiếm 1

메서드가 호출된 후에 정의되도 상관 없나요?

Viết

·

246

2

안녕하세요. 좋은 강좌 잘 듣고 있습니다.

종종 메서드가 호출이 되고, 그다음 정의되는 부분이 있습니다.

예를들어 아래의 코드에서는

SearchModel.list(query).then(data =>{

this.onSearchResult(data)

})

부분에서 onSearchResult가 먼저 호출되고, 정의 되는 것은 코드의 마지막 부분입니다. 

  1. 이런식으로 사용해도 되는 이유가 export와 관계가 있는 건가요?
  2. 아니면 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) //이 부분이 나중에 정의 되어도 상관 없는지?

}

}

vuejsjavascript

Câu trả lời 2

0

ryu sin님의 프로필 이미지
ryu sin
Người đặt câu hỏi

질문이 좀 두서가 없었네요.

넵. 정확하게 보셨고, 답변 감사합니다.

0

jeonghwan님의 프로필 이미지
jeonghwan
Người chia sẻ kiến thức

질문 이해가 좀 어려운데요..

이게 맞나요?

"어떻게 search() 정의부에서 코드 아래에 위치한 onSearchResult()를 호출하는가?"

지금은 함수를 정의하는 부분이기 때문에 괜찮습니다.

브라우져가 이 코드를 해석한뒤 실행하는 시점에는

모든 함수의 위치가 확인된 상태기 때문에 호출할수 있는 것이죠.

확신할순 없지만 함수 호이스팅이지 않을까 생각합니다.

Hình ảnh hồ sơ của inomosaic0443
inomosaic0443

câu hỏi đã được viết

Đặt câu hỏi