Getting familiarized with Vue.js by converting a TODO App originally created in React.js.
Project demo has been deployed to Netlify at https://vue-todo-app8.netlify.app.
- Component based architecture (e.g. TodoList, TodoListItem, TodoListHero, TodoListModal)
- Data properties (e.g.
totalTasks
passed down to TodoListHero component) - Computed properties: to derive new values based on existing data properties (e.g.
completedTasks
andtotalTasks
computed from the tasks array) - Methods (e.g. handleShow, handleFilterChange)
- Event handling (e.g. @click, @keydown)
- Lifecycle hooks (using
watch
to track changes toshowModal
to update the todo task input and duedate on edit action) - Conditional rendering with the
v-if
directive - Use of the vuedraggable.next component for drag-and-drop sorting
- Drag and drop reordering of todo with vue.draggable.next
- Autofocus text input
- Handle Enter key
- Deploy project online (e.g Netlify)
- <script setup> version for all components vs <script>
VSCode + Volar (and disable Vetur).
See Vite Configuration Reference.
npm install
npm run dev
npm run build