โญ Personal_Study/Vue23 Article with Vue Articles with Vue ์ฌ์ ์ค๋น $ vue create articles $ cd articles $ vue add vuex $ vue add router // App.vue Index state ์ ์ // store/index.js import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { article_id: 3, articles: [ { id: 1, title: 'title1', content: 'content1', createdAt: new Date().getTime() }, { id: 2, title: 'title2', content: 'content2', creat.. 2022. 11. 19. Navigation Guard Navigation Guard ๋ค๋น๊ฒ์ด์ ๊ฐ๋ โ Vue router๋ฅผ ํตํด ํน์ URL์ ์ ๊ทผํ ๋ ๋ค๋ฅธ url๋ก redirect ํ๊ฑฐ๋ ํด๋น URL๋ก์ ์ ๊ทผ์ ๋ง๋ ๋ฐฉ๋ฒ ๋ค๋น๊ฒ์ด์ ๊ฐ๋์ ์ข ๋ฅ โ ์ ์ญ ๊ฐ๋: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ญ์์ ๋์ โ ๋ผ์ฐํฐ ๊ฐ๋: ํน์ url์์๋ง ๋์ โ ์ปดํฌ๋ํธ ๊ฐ๋: ๋ผ์ฐํฐ ์ปดํฌ๋ํธ ์์ ์ ์ ์ ์ญ ๊ฐ๋ Global Before Guard โ ๋ค๋ฅธ url ์ฃผ์๋ก ์ด๋ํ ๋ ํญ์ ์คํ โ router/index.js์ router.beforeEach()๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ โ ์ฝ๋ฐฑ ํจ์์ ๊ฐ์ผ๋ก ๋ค์ 3๊ฐ์ ์ธ์๋ฅผ ๋ฐ๋๋ค to: ์ด๋ํ url ์ ๋ณด๊ฐ ๋ด๊ธด Route ๊ฐ์ฒด from: ํ์ฌ url ์ ๋ณด๊ฐ ๋ด๊ธด route ๊ฐ์ฒด next: ์ง์ ํ url๋ก ์ด๋ํ๊ธฐ ์ํด ํธ์ถํ๋ ํจ์ .. 2022. 11. 19. Vue Router Vue Router Routing Routing โ ๋คํธ์ํฌ์์ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋ ํ๋ก๋ ์ค โ ์น ์๋น์ค์์์ ๋ผ์ฐํ : ์ ์ ๊ฐ ๋ฐฉ๋ฌธํ URL์ ๋ํ ์ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ์๋ตํ๋ ๊ฒ Routing in SSR โ Server๊ฐ ๋ชจ๋ ๋ผ์ฐํ ์ ํต์ โ URL๋ก ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์๋ต์ผ๋ก ์์ฑ๋ HTML ์ ๊ณต Django๋ก ๋ณด๋ธ ์์ฒญ์ ์๋ต HTML์ ์์ฑ๋ณธ์ธ ์ํ โ ๊ฒฐ๋ก ์ ์ผ๋ก, Routing(URL)์ ๋ํ ๊ฒฐ์ ๊ถ์ ์๋ฒ๊ฐ ๊ฐ์ง๋ค. Routing in SPA / CSR โ ์๋ฒ๋ ํ๋์ HTML(index.html)๋ง์ ์ ๊ณต โ ์ดํ์ ๋ชจ๋ ๋์์ ํ๋์ HTML ๋ฌธ์ ์์์ JavaScript ์ฝ๋ ํ์ฉ DOM์ ๊ทธ๋ฆฌ๋๋ฐ ํ์ํ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด axios์ ๊ฐ์ AJAX ์์ฒญ์ ๋ณด๋ผ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉ.. 2022. 11. 18. UX & UI UX & UI UX (User Experience) โ ์ ์ ์ ๊ฐ์ฅ ๊ฐ๊น์ด์ ์๋ ๋ถ์ผ, ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ ๋ฅผ ์กฐ์ฌํ๊ณ ๋ถ์ํด์ ๊ฐ๋ฐ์, ๋์์ด๋๊ฐ ์ดํดํ ์ ์๋๋ก ์ํต โ ์ ์ ๊ฐ ๋๋ผ๋ ๋๋, ํ๋ ๊ทธ๋ฆฌ๊ณ ํ๋์ ๋์์ธ ์ข์ UX๋ฅผ ์ค๊ณํ๊ธฐ ์ํด์๋... โ ์ ์ ๋ฆฌ์์น, ๋ฐ์ดํฐ ์ค๊ฒ ๋ฐ ์ ์ , ์ ์ ์๋๋ฆฌ์ค, ํ๋กํ ํ์ ์ค๊ณ ๋ฑ์ด ํ์ UI (User Interface) โ ์ ์ ์๊ฒ ๋ณด์ฌ์ง๋ ํ๋ฉด์ ๋์์ธ โ UI๋ฅผ ๊ณ ๋ คํ ๋์์ธ์ ๋ฐ์, ์ด ๊ณผ์ ์์ ๊ธฐ๋ฅ ๊ฐ์ ํน์ ์ถ๊ฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ Front-end ๊ฐ๋ฐ์์ ๊ฐ์ฅ ๋ง์ด ์ํต Interface โ ์๋ก ๋ค๋ฅธ ๋ ๊ฐ์ ์์คํ , ์ฅ์น ์ฌ์ด์์ ์ ๋ณด๋ ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒฝ์ฐ์ ์ ์ โ ์ฌ์ฉ์๊ฐ ๊ธฐ๊ธฐ๋ฅผ ์ฝ๊ฒ ๋์ ์ํค๋๋ฐ ๋์์ ์ฃผ๋ ์์คํ โ C.. 2022. 11. 18. Todo: Local Storage Todo: Local Storage Local Storage ๊ฐ์ โ ๋ธ๋ผ์ฐ์ ์ Local Storage์ todo ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ๊ณ ๋ค์ ์คํํด๋ ๋ฐ์ดํฐ๊ฐ ๋ณด์กด๋ ์ ์๋๋ก ํ๊ธฐ Window.localStorage โ ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ์ ์ฅ๊ณต๊ฐ ์ค ํ๋์ธ Local Storage์ ๊ด๋ จ๋ ์์ฑ โ ๋ง๋ฃ๋์ง ์์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ๊ณ ๋ค์ ์คํํด๋ ๋ฐ์ดํฐ๊ฐ ๋ณด์กด๋๋ค. โ ๋ฐ์ดํฐ ๋ฌธ์์ด ํํ๋ก ์ ์ฅ โ ๊ด๋ จ ๋ฉ์๋ setItem(key, value): key, value ํํ๋ก ๋ฐ์ดํฐ ์ ์ฅ getItem(key): key์ ํด๋นํ๋ ๋ฐ์ดํฐ ์กฐํ Local Storage ์ค์ต ์ค์ต // index.js export default new Vuex.Store({ ... actions: { .. 2022. 11. 16. Vuex ํ์ฉํด Todo SPA ์ฑ ๋ง๋ค๊ธฐ Todo ์ฌ์ ์ค๋น ํ๋ก์ ํธ ๊ฐ์ ํ๋ก์ ํธ ์์ฑ ๋ฐ vuex ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ $ vue create todo-vuex-app $ cd todo-vuex-app $ vue add vuex HelloWorld ์ปดํฌ๋ํธ ๋ฐ ๊ด๋ จ ์ฝ๋ ์ญ์ ์ปดํฌ๋ํธ ์์ฑ // components/TodoListItem.vue Todo // components/TodoList.vue // components/TodoForm.vue Todo Form // App.vue Todo List ํ์ด์ง ํ์ธ Read Todo State ์ธํ // index.js import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { .. 2022. 11. 15. ์ด์ 1 2 3 4 ๋ค์