[순수JS2]탭 3(풀이) 질문있습니다.
229
작성한 질문수 67
안녕하세요 선생님 강의 잘 듣고 있습니다.
delegate에 관해서 제가 아래처럼[(1),(2)] 이해하고 있는데 이것이 맞게 이해한것인지 궁금합니다.
1) delegate에서emitEvent에 담기는것은 아직 호출되지 않은 함수인데
이게 tabView생성자가 호출되는 시점에 렌더링이 되지않은(?) id =tab-view에 delegate 안의 on 메소드에 의해 바인딩이 됩니다.
2) 이후 id=tab-view에 click 이벤트가 발생하면 그제서야 on에 의해 바인딩되었던 이벤트처리기 (emitEvent)가 호출되어서 실제 bindEvents()에서 바인딩하려했던 handleClick 를 호출합니다.
3) 또 쓰다 보니 궁금한것이 아직 TabView의 show가 호출되기 전이긴 한데 constructor에서는 bindEvents() 메소드 안에서 delegate -> on 메소드에서 target.addEventListener를 호출하고 있는데
id=tab-view는 이미 렌더링 되었다고 표현하는것이 맞나요?
감사합니다.
답변 1
1
1) delegate(target, eventName, selector, handler) 함수는 target에서 발생할 eventName과 handler를 바딩하는데 selector 에게 역할을 위임한다라고 생각하시면 어떻까요? 그러면 delegate(this.element, "click", "li", (event) => this.handleClick(event)) 는 "TabView에 클릭 이벤트 처리리를 바인딩하는데 정확한 타켓은 li 엘리먼트에게 위임한다" 정도로 해석해 볼 수 있겠습니다.
tabView 생성자가 호출된 시점에는 이미 id="tab-view"는 렌더되었습니다. html 파일에 이미 정의 되어 있기 때문이에요.
2) id=tab-view(target)에 click(eventName) 이벤트가 발생하면 handleClick이 실행됩니다. 이 때 delegate에 전달한 selector로 정확한 이벤트 타겟 객체를 찾는데 이게 바로 delegate 함수 안의 emitEvent의 역할입니다.
3) 네, TabView에 연결할 html은 이미 렌더되어 있습니다.
delegate 함수가 좀 어려울 수 있는데요. on 함수와 비교하면 역할이 좀 더 명확하게 보이실 겁니다.
on: 엘리먼트에 이벤트 핸들러 연결
delegate: 엘리먼트에 이벤트 핸들러를 연결, 단 엘리먼트 하위의 selector에게 이를 위임
1
선생님 delegate메소드가 엘리먼트 하위의 selector에게 위임 한다. 라는것이
최상위 target (this.element, #tab-view) 에서 emit 된 event("click")를 target의 하위 selector("li")들에게 이벤트 처리를 위임한다. 라고 말하면 맞는 말 인가요..?
delegate로직 자체는 이해를 하였는데 제 표현이 맞는 표현인지 궁금합니다.
리액트 1,2부 이후 후속 강의나 준비 중인 다른 강의가 있으신가요?
1
90
2
super.show() 호출하는 이유가 궁금합니다.
1
81
2
class와 constructor를 이용한 객체 지향 프로그래밍
0
224
2
mvc 패턴 질문
0
197
2
Cannot read properties of undefined (reading 'props')
0
270
2
delegate, emit 필요한 이유
0
196
2
어떤거를 먼저 들어야 하는지 도와주세요
1
265
1
localhost:8080 접속 불가
1
281
1
최근검색어 3 풀이에서
1
188
1
import 문제
1
231
1
자동변환 관련
1
203
1
sort() 질문 드립니다.
1
304
2
reset 시점에 searchResult 빈 배열로 update
2
311
2
Button에 Onclick사용
1
247
1
npx lite-server error 확인 요청드립니다.
1
470
2
node 20이상 쓸때 꿀팁
4
758
3
디버깅 관련질문이 있습니다.
1
295
1
추상화를 어떻게 받아들이면 될까요??
1
435
1
[검색폼 1] View.js 파일 질문과 학습 질문
1
329
1
on 메서드 eventName 문의
1
266
1
import에 관해서 질문드립니다
1
254
1
view.js의 on 메소드에 대해 질문드립니다
1
258
1
componentDidMount에서 getKeywordList()를 하는 이유
1
240
1
[순수JS1]검색폼2_git branch 이동관련
1
279
1





