router-view에 따라 그려지는게 아닌 컴포넌트
created훅에서 '$route.path'확인 결과 "/"가 나왔다.
router-view를 통해 변경된 경로에 따라 그려지는 컴포넌트
Vue Router에서 정의된 해당 컴포넌트를 그리는 path.
Header
- Navbar
- Search
- SearchForm.vue => 검색 페이지로 이동 로직
Browse
- SearchPage.vue => 검색 로직
0. 버튼 기능
0.1 검색 버튼 클릭 기능 => 검색 폼 노출, 노출과 동시에 포커스 이동 [✔]
0.2 검색 영역 바깥 클릭 기능 => 검색어가 없을 경우, 검색 폼을 제거 [ ]
0.3 검색어 초기화 기능 => 검색어 초기화 및 이전 페이지로 이동 기능 [ ]
1. 검색 기능
1.1 검색어를 입력하고, 엔터 키를 입력 이벤트 바인딩. [✔]
1.2 입력한 키를 받아서 API 조회 [✔]
1.3 SearchPage에 해당하는 경로로 이동한다. => 현재 페이지가 SearchPage라면 페이지를 이동하지 않는다. [✔]
1.4 SearchPage에서는 검색 결과를 보여준다. => 스토어를 통해서 검색 결과를 가져온다. [✔]
1.5 데이터를 더 불러올 수 있을 경우 스크롤을해서 데이터를 더 불러온다.
2. 검색 결과 표시 기능
2.1 검색 결과가 없을 경우 표시 [✔]
2.2 TODO 🤣 스타일링
3. 무한 스크롤 기능( 데이터를 더 불러올 수 있으면, 스크롤을 통해 다음 페이지를 불러온다. )
5. 페이지를 새로고침 했을 경우
5.1 검색어를 받아서 저장해야함.
1. 검색어를 입력하는 동안에는 로딩화면을 보여주고, 검색어 입력이 종료되면 검색 결과를 보여준다.
2. 같은 검색어일때는 엔터 입력 불가능
3. 검색어 저장 기능(최근 검색어 리스트)
검색 버튼 클릭
: 검색 폼 노출 여부 : store에서 관리 ( 다른 페이지에서 사용할 수도 있음 )
route가 변경되었을 경우 검색 폼을 비노출 상태로 변경해야함 [✔]
검색어를 입력하고, 엔터를 입력한다. [✔]
검색어를 스토어의 searchText에 세팅한다.
SearchPage로 이동한다.
watch를 통해 searchText의 변화를 감지한다.
searchText가 변경되었을 경우 검색한다.
검색 결과를 Search Store 모듈에 저장한다. [✔]
검색 결과를 보여준다.
✨ 새로 고침이 되었을 경우
새로 고침 여부를 어떻게 체크?
created 훅에서 스토어의 searchText의 여부를 체크하고, 없을 경우 새로고침, 혹은 검색을 통해서 진입했으므로 최초 세팅을 한다.