[인프런] 트렐로 개발로 배우는 Vuejs, Vuex, Vue-Router 프론트엔드 실전 기술 - 김정환를 보며 학습한 내용으로 디자인을 바꾸고 기능을 추가해 처음부터 다시 만들어본 trello
flowbox로 화면을 구성하고, css에 더 익숙해졌고, vue router와 vuex 개념을 익히고 사용했다.
drag and drop은 dragulla lib을 사용했다.
로그인 화면. validation을 체크해 enter키를 노출시킴
로그인 - 로그아웃시의 화면전환
메인화면에서 보드 생성.
테마 색상과 제목을 입력하고, 보드를 생성.
생성 후 보드 화면으로 이동.
보드 이름 수정가능.
보드 메뉴
보드에 대한 설명추가와 테마색상변경, 보드 삭제를 할 수 있다
트렐로에 카드를 추가, 수정, 삭제할 수 있고, 이동해 위치를 변경할 수 있다.
카드에 항목을 추가,수정, 삭제, 이동할 수 있고 항목간 이동도 가능하다.
설명을 추가하면 버튼 노출
{ path: '/b/:bid', component: Board, beforeEnter : requireAuth,
children:[{path:'c/:cid', component:Card, beforeEnter : requireAuth}]
<template>
<div>
<div class="board-wrapper">
<div class="board">
<div class="board-header">
<span class="board-title">{{board.title}} </span>
</div>
<div class="list-section-wrapper">
<div class="list-section">
<div class="list-wrapper" v-for="list in board.lists" :key="list.pos">
<List :data="list" />
</div>
</div>
</div>
</div>
</div>
<router-view></router-view>
</div>
</template>
<template>
<div class="card-item">
<router-link :to="`/b/${boardId}/c/${data.id}`">
<div>{{data.title}} </div>
<div class="card-item-meta">≡</div>
</router-link>
</div>
</template>
NavigationDuplicated: Avoided redundant navigation to current location: "/".
=> catch로 없애버림..
const onUnauthorized = () => {
router.push("/login").catch(() => {});
};