π archive29 Vue.js μμ λ°μν(Reactivity)μ λ€λ£¨λ λ°©λ² π λ€μ΄κ°λ©° μ΄λ² ν¬μ€ν μμλ Vue.js μ λ°μν μμ€ν μ λν΄ μμλ³΄κ³ μ ν©λλ€. μ΅κ·Ό μ§ννκ³ μλ μ¬μ΄λ νλ‘μ νΈμμ μ»΄ν¬λνΈμ data μ λ³κ²½μ ν΄μ€λ props λ‘ μμμκ² μ λ¬ν΄μ€ κ°μ΄ κ°±μ λμ§ μλ λ¬Έμ κ° λ°μνμ΅λλ€. νΉμλ ν΄μ μ°Ύμ보λ μ΄λ reactivity λ₯Ό κ³ λ €νμ§ μμ λ°μν λ¬Έμ μμ΅λλ€. π λ°μνμ΄λ? Vue.js μμλ μ΄λ»κ² μ»΄ν¬λνΈ μΈμ€ν΄μ€μ data μμ± κ°μ μΆμ νμ¬ νλ©΄μ λλλ§μ ν΄μ€ μ μλ κ²μΌκΉμ? μ΄λ λ°λ‘ κ° μ»΄ν¬λνΈ μΈμ€ν΄μ€λ§λ€ ν λΉλ watcher λ₯Ό ν΅ν΄ λ³κ²½ μ¬νμ μΆμ λ° κ΄λ¦¬νκΈ° λλ¬Έμ κ°λ₯ν μΌμ λλ€. Vue.js λ μΈμ€ν΄μ€ μ΄κΈ°ν λ¨κ³μμ data μ λͺ¨λ μμ±μ getter / setter λ₯Ό μΆκ°νμ¬ κ΄λ¦¬ λ° κ°±μ μ νμν μ°μ°.. 2021. 3. 2. Vue-router λ€λΉκ²μ΄μ κ°λ νμ©νκΈ° π Navigation Guard? μ μ κ°λ router.beforeEach λ₯Ό μ¬μ©ν΄μ λͺ¨λ λΌμ°ν° κ°μ²΄μ κ°λλ₯Ό μ μ©ν©λλ€. λ°λΌμ λ€λΉκ²μ΄μ μ΄ νΈλ¦¬κ±° λ λλ§λ€ μ΄λ€ λΌμ°νΈκ° λ°μνλμ§ μ νμκ° μλλ° μ΄λ₯Ό μν΄ λ€μ μΈ κ°μ§ μΈμλ₯Ό μ λ¬λ°μ΅λλ€. to : to μ ν΄λΉνλ λΌμ°νΈ κ°μ²΄λ‘ λ€μμ μ΄λ from : νμ¬ λΌμ°ν°λ‘ μ€κΈ° μ΄μ μ λΌμ°νΈ next : ν μ ν΄κ²°νκΈ° μν΄ νΈμΆλ©λλ€. λμ λ°©μμ next μ μ λ¬νλ μΈμμ λ°λΌ λ¬λΌμ§λλ€. next() ν¨μμ κ²½μ° νΈμΆλμ§ μμΌλ©΄ ν μ΄ μ λ λΆλ¬μ§μ§ μμΌλ―λ‘ λ°λμ κ°λ λ΄μμ νΈμΆν΄μΌν©λλ€. const router = new VueRouter({ ... }) router.beforeEach((to, from, next) => { // .. 2021. 3. 1. Vue.jsμ Vuetify νμ©ν΄μ axiosλ‘ νμΌ μ λ‘λνκΈ° Vuetify? Vuetifyλ Vue.jsλ₯Ό μν λμμΈ νλ μμν¬μ λλ€. μ΄λ² ν¬μ€ν μμλ Vue.jsμ Vuetify λ₯Ό νμ©ν΄μ μλ²μ νμΌμ μ λ‘λνλ λ°©λ²μ λν΄ μμλ³΄κ³ μ ν©λλ€. ν΄λΉ ν¬μ€ν μ μ¬μ μ νμΌ μ λ‘λλ₯Ό μ²λ¦¬ν μ μλ λ°±μλ μλ²κ° ꡬμ±λμ΄μλ€λ μ μ¬νμ μ§νλ©λλ€. Vuetify File input μ»΄ν¬λνΈ μ¬μ© Vuetify μμλ κΈ°μ‘΄μ HTML input νκ·Έ μν μ νλ μ¬λ¬κ°μ§ μ λ ₯ μ μ© μ»΄ν¬λνΈλ€μ΄ μ‘΄μ¬ν©λλ€. μ΄μ€ μ ν¬λ νμΌ μ λ‘λλ₯Ό μν v-file-input νκ·Έλ₯Ό νμ©ν©λλ€. Product.vue v-file-input μ»΄ν¬λνΈ v-file-input μ μ νλ νμΌμ λ³κ²½μ΄ μλ€λ©΄ change μ΄λ²€νΈλ₯Ό ν΅ν΄ μνλ μμ μ μνν μ μμ΅λλ€. ν΄λΉ μ΄λ²€νΈ.. 2021. 3. 1. Vue.js μ€μ²© λΌμ°ν° (Nested Router) μ¬μ©νκΈ° μνλ URL ν¨ν΄ μΌνλͺ° νλ‘μ νΈλ₯Ό μ§ννλ©΄μ λ€μμ μ»΄ν¬λνΈλ‘ μ΄λ£¨μ΄μ§ νλ©΄ λλλ§μ΄ νμν μν©μ΄ μκ²Όμ΅λλ€. μ μ κ΄λ ¨ μ 보λ€μ μν λμ보λλ₯Ό ꡬννλ©΄μ νλ©΄ μ€κ³λ₯Ό λ€μκ³Ό κ°μ΄ νμ΅λλ€. /board /board/wishlist +------------------+ +-----------------+ | board | | board | | +--------------+ | | +-------------+ | | | main | | +------------> | | wishlist | | | | | | | | | | | +--------------+ | | +-------------+ | +------------------+ +-----------------+ μ΄λ₯Ό μν΄μλ νΉμ URLλ³λ‘ νλ©΄.. 2021. 3. 1. Vue-Router history mode μ§μμ μν Django μ€μ Vue-routerμ Django Vue.jsμμ vue-router λ₯Ό μ¬μ©ν κ²½μ° κΈ°λ³Έμ μΌλ‘ URLμ # κ° ν¬ν¨λμ΄ μμ΅λλ€. ν΄μλ₯Ό μ κ±°νκΈ° μν΄μλ νμ€ν 리 λͺ¨λλ₯Ό μ μ©ν΄μΌ νλλ° Djangoλ₯Ό λ°±μλ μλ²λ‘ λκ³ κ·Έλλ‘ μ¬μ©ν κ²½μ° λ¬Έμ κ° μκΉλλ€. π‘ λ¬Έμ μ λ§μ½ Vue.jsμμ νμ€ν 리 λͺ¨λλ₯Ό μ μ©ν ν npm build λ₯Ό ν΅ν΄ μμ±ν λΉλ νμΌμ Djangoμ index.html λ‘ μ€μ ν λ€μ μ§μ URLλ‘ νΉμ νμ΄μ§λ₯Ό μμ²ν κ²½μ° 404 μλ¬λ₯Ό νμΈν μ μμ΅λλ€. μ΄λ Vue.jsκ° SPA(Single Page Application)μ΄λΌμ Django μλ²λ ν΄λΌμ΄μΈνΈμμ μ¬μ©νλ νΉμ URL ν¨ν΄μ μ μ μλ μν©μμ λ²μ΄μ§ μΌμ λλ€. κ·Έλ λ€λ©΄ Djangoμμ νμ€ν 리 λͺ¨λλ₯Ό.. 2021. 3. 1. μ΄μ 1 2 3 4 5 λ€μ