Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jay & jello ] 아마존 5주차 #118

Open
wants to merge 20 commits into
base: jay
Choose a base branch
from

Conversation

altmit
Copy link
Member

@altmit altmit commented May 13, 2023

No description provided.

altmit and others added 20 commits May 1, 2023 14:49
- child에 text와 element node 두개가 함께 있는 경우 text node를 추가하지 못하는 현상 수정
- text node와 element node가 함께 있을 때 생기는 버그를 해결하기 위한 함수 삭제
- firstChild가 text인 경우 발생한 버그 수정
- 메서드명 오타 수정
Pretendard `Variable`로 저장된 변수를 Pretendard로 수정함.
main.css 파일 추적은 불필요하기에 중단함.
기존 코드를 유지한 상태로 리팩토링을 하기 위해 NewSideBar와 Model, View,
Controller 파일 생성함.
SubNavBar로는 NewSideBar의 Controller를 주입해서 show() 메서드를
이벤트에 등록함.
- innerWrapper에 메뉴 요소를 렌더링하는 방식이 가로 정렬의 원인임.
- innerWrapper 아래 contentWrapper를 넣고 메뉴 요소를 채워넣는 방식으로
  변경함.
- MVC로 작성하는 파일 이름을  SideBar로 변경함
- 기존 사이드바 파일을 SideBarLegacy로 변경함
- 이벤트 버블링 활용해서 핸들러 하나로 통제하던 클릭 이벤트를 개별 요소에 등록함.
- dataset.elementname이 같은 여러개의 요소에 접근하기 위해 node에 name 프로퍼티가 있다면 name's'에 배열을 만들고 노드를 추가하도록 변경함.
- 모두보기가 포함된 목록 이후의 목록이 감춰진 목록의 높이만큼 아래에 위치하는 현상 수정함. 펼치고 접는 동작을 transform으로 구현한 것이 원인이어서 maxHeight으로 바꿔 구현해서 해결함.
- MVC 패턴으로 구현함.
- 모달창이 네비게이션 바의 로그인 하위 요소라 버블링으로 이벤트가 전달됨.
- 로그인 탭 영역을 나타내는 영역을 별도의 div로 묶어주고 마우스 이벤트를 등록함.
- 연달아 마우스 이벤트가 발생하는 것을 막기 위해 mouseenter 이벤트로 변경함.
- mouseenter에 대응되는 mouseleave 이벤트로 mouseout 이벤트를 대체함.
- 기존에는 모델이 하는 역할이 없어서 MVC라고 부를 수 없음.
- 모델에서 사이드바의 동작과 변경사항을 위한 상태를 가지고 그것이 변경될 때 뷰 쪽의 로직을 실행하게끔 변경함.
- 레거시 코드 삭제
- 변경 사항이 없을 사이드바의 기본 뷰(메인 메뉴)는 초기화 함수(init)을 실행해서 렌더링하고 이후 재렌더링하지 않음.
- 모든 동작이 모델의 상태를 변경해줌으로써 triggering 되도록 함.
[jello] 아마존 쇼핑몰 5주차
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants