20210208(월)
1. 학습 날짜
2020-02-08
2. 학습 시간
11:00 ~ 24:00
3. 학습 범위 및 주제
백본 view, model, collection
4. 학습 목표
appearance view 구현 완료하기
5. 학습 정리
6. 상세 학습 내용
현재
user_menu_view
는 메뉴뷰가 켜진 상태에서 브라우저의 사이즈를 조절하면 문제가 생겼다. 이에대한 해결책으로 여러 아이디어가 나왔지만 그 중 가장 구현이 용이하고 모든 사람이 동의할만한 아이디어는 브라우저의 사이즈가 조절될 때 메뉴뷰를 없애면 된다는 것이었다.문제는 window - resize 라는 이벤트를 감시하기 위해서는 backboneJS 의 events 또는 listenTo를 사용하지 못한다는 것이었다.
그렇다고 해서 jQuery 를 사용해서 이벤트를 바인딩하면 정말 꼴보기 싫은 코드가 만들어진다.
따라서 이 부분을 어떻게 할지에 대해 알아봤고 그에 대한 해결책으로는 underscoreJS 와 BackboneJS를 조화롭게 활용하는 방법이 있었다.
먼저
extend
라는 underscore 문법을 사용해서 window 객체에 Backbone.Events 를 넣는다.이렇게 되면 앞으로는 view 에서 window 를 직접 listenTo 할 수 있게 된다!
BackboneJS 의 각 요소의 역할을 정리해보자.
현재 우리의 코드를 보면 모든 작업들이 view 에서 수행되고 있다.
하지만 VIEW는 DOM 요소의 작업과 event 에 대한 작업만을 수행하지 비즈니스 로직을 수행하는 곳이 아니다.
따라서 그런 비즈니스 로직을 담당하는 부분은 model로 옮긴다. 그리고 collections 또한 수정해서, collection 은 특정 모델을 trigger 하거나 또는 생성 수정 삭제 등의 rest api 를 담당하게 한다.
7. 오늘 학습 내용에 대한 개인적인 총평
흠... 코드를 작성하는 시간 절반이었고 나머지는 전부 회의 또는 PR 를 확인하는 시간이었다. 하지만 아직도 PR에 대한 의견을 적지를 못했다ㅋㅋ 참나..
8. 다음 학습 계획
appearance view 완성하기
Last updated