์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ์ด๋ฏธ์ง ์์
- ์ฝ๋ ํฌ๋ฉง
- TypeScript
- ์นด์นด์ค
- custom hook
- ๋ถ์คํธ์บ ํ์น๋ชจ๋ฐ์ผ
- ๋๋๊ทธ ์ด๋ฒคํธ
- ์ด๋ถํ์
- ํ๋ก๊ทธ๋๋จธ์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์ฝํ
- Node.js
- js
- router v6
- svgํ์ผ ๋ค๋ฃจ๊ธฐ
- React
- ์นด์นด์ค์ฑ์ฉ
- ๋์ ๊ณํ๋ฒ
- ๋ธ๋ฃจํธํฌ์ค
- Redux toolkit
- icecandidate
- ์๊ณ ๋ฆฌ์ฆ
- JavaScript
- ๋ถ์คํธ์ปจํผ๋ฐ์ค
- ์ฝ๋ฉํ ์คํธ
- ์๋ฐฉํฅ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
- ๋ฆฌ๋์ค ํดํท
- ๊ณผ์ ํ ์คํธ
- DP
- ๋ฐฑ์ค
- Today
- Total
๋ชฉ๋กVue (15)
๐ฅ dev-ruby
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/HwHX2/btrborGGUlw/W9p4DEjgBoPzYRb1fLogd1/img.jpg)
1. router ์ค์นํ๊ธฐ npm install vue-router@4 2. router ํด๋ ์์ฑ src/router.js ์์ฑ ํ import { createWebHistory, createRouter } from "vue-router"; // import ์ปดํฌ๋ํธ const routes = [ { path : "/list", // ์ด ๊ฒฝ๋ก๋ก ์ ์ํ๋ฉด component : List, // ์ด ์ปดํฌ๋ํธ๋ก ๋์ด๊ฐ๊ฒ ํด์ฃผ์ธ์ }, { path : "/home", component : Home, }, { path : "/detail/:id", //detail/:์๋ฌด๋ฌธ์ component : Detail, }, ]; const router = createRouter({ history: createWebHist..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/eswE7g/btrbtniXNCU/5PdKsUr5Kw9nKD9d5JwVQk/img.jpg)
1. ์ ๋ฐฐ์ธ๊น? -> ํ ์ ์ฐ๊ธฐ์ํด ํ ์ด๋? ๋ค์ ๋จ๊ณ๋ก ๊ฐ๊ธฐ ์ ์ ์ด๊ฑธ ์คํํด์ฃผ๊ณ ๊ฐ์ธ์~๋ผ๊ณ ํํฌ๋ฅผ ๊ฑฐ๋ ๊ฒ 1. create ๋จ๊ณ ๋ฐ์ดํฐ๋ง ์กด์ฌํ๋ ๋จ๊ณ 2. mount ๋จ๊ณ ์ฌ์ด์ ์๋๊ฑธ ์ค์ html๋ก ๋ฐ๊ฟ์ฃผ๋ ๋จ๊ณ mountedํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ์ค์ html๋ก ๋ณํ์ด ๋ ํ์, ํจ์๊ฐ ์คํ์ด ๋๋ค. 3. ์ปดํฌ๋ํธ ์์ฑ inde.html์ ์ฅ์ฐฉํ๋ ๋จ๊ณ 4. update ๋จ๊ณ 5. unmount ๋จ๊ณ 2. hook ์ข ๋ฅ create๋จ๊ณ ์ : beforeCreate() create๋จ๊ณ ํ : created() mount๋จ๊ณ ์ : beforeMount() mount๋จ๊ณ ํ : mounted() update๋จ๊ณ ์ : beforeUpdate() update๋จ๊ณ ํ : u..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bAUXS7/btrbqv9BHT5/JjPCQJOBIZTfVhbp8qHf11/img.jpg)
1. ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ๋ ๋ณ์์ ์ ์ฅ ํ, ํ ๋ณ์๋ง sort์ํค๋ฉด ๋ค๋ฅธ ๋ณ์๋ ์๋ณธ ๊ทธ๋๋ก์ผ๊น? ์๋๋ค. ๊ฐ์ array๋ฅผ ํ ๋น๋ฐ์๊ฑฐ๊ธฐ ๋๋ฌธ์ ๊ทธ ๋ณ์๋ ๊ฐ์ด ์ ๋ ฌ๋๋ค. => ๋ณ๊ฐ์ ๋ฐ์ดํฐ๋ก ์ ์ฅํ๊ธฐa= [...data], //data์๋ ์์ ํ ๋ค๋ฅธ ์นดํผ๋ณธ์ ๋ง๋ค์ด ์ฃผ์ธ์~ b= data 2. array๋ฅผ ๋ณ๊ฐ์ ๋ฐ์ดํฐ๋ก ์ ์ฅ ํ, ๋ค์ ์๋ณธ์ผ๋ก ๋๋ฆฌ๊ธฐ ์ํด ๋์ ์ ํ๋ค๋ฉด? array๋ '=' ๋ฑํธ๋ก ๋์ ํ๋ฉด ์ผ์ชฝ ์ค๋ฅธ์ชฝ ๊ฐ์ ๊ณต์ ํ๋ค๋ ๋ป์ด ๋๊ธฐ ๋๋ฌธ์, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ๊ฒ ๋๋ค. ๋ฐ๋ผ์ this.b = [...this.a]; //๋ ๋ค๋ฅธ ์นดํผ๋ณธ์ผ๋ก ๋์ ํด์ค์ผ ํจ
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/n9krE/btrbpV1wSfy/mUGIfiVILphokH7yBv4wkK/img.jpg)
1. :class="" CSS๋ก ์ ๋๋ฉ์ด์ ์ฃผ๊ธฐ - ๋ชจ๋ฌ์ฐฝ์ด ์์ํ ์ด๋ฆฌ๋ ์ ๋๋ฉ์ด์ .start{ opacity: 0; transition: all 1s; } .end{ opacity: 1; } '๋ชจ๋ฌ์ฐฝ์ด๋ ธ๋'๊ฐ true๊ฐ ๋ ๋๋ง endํด๋์ค๊ฐ ์ ์ฉ์ด ๋๋ค๋ ๋ป transition: all 1s ๋ ํด๋์ค์ ๋ชจ๋ ์์์ ๋ณํ๊ฐ ์๊ธธ ๋ 1์ด๊ฐ ๊ฑธ๋ฆฐ๋ค๋ ๋ป 2. - Vue์ ๊ณต ํ๊ทธ ์ฌ์ฉ ์ ๋๋ฉ์ด์ ์ฃผ๊ณ ์ถ์ ์์๋ฅผ ๊ฐ์ผ๋ค 3. ์ฐฝ ์ด๋ฆด ๋ enter-from, enter-active, enter-to : ์ class ์์ฑ name์ง์ css์ 3๊ฐ์ ํด๋์ค ์ ์ธ .fade-enter-from{ opacity: 0; // ์์ ์ ์คํ์ผ } .fade-enter-active{ tr..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/qZWjs/btrbmx1qNO2/2BB3KK3Od2PnhCfACk5chk/img.jpg)
1. watcher๋? ์ฌ์ฉ์๊ฐ input์ ์ ๋ ฅํ ์๋ฃ์ ์ ํ์ด ์ผ์นํ๋์ง ๊ฒ์ฌํด์ฃผ๋ 2. ์ฌ์ฉ๋ฒ export default์ watch๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฑ๋ก watch(){ } ๊ทธ ์์ ๊ฐ์ํ ๋ฐ์ดํฐ ์ด๋ฆ์ผ๋ก ํจ์ํ์์ผ๋ก ์์ฑ watch : { ๊ฐ์ํ ๋ฐ์ดํฐ(){ // ๋์ ์์ฑ } } ๊ทธ๋ผ month๋ผ๋ ๋ฐ์ดํฐ๊ฐ ๋ณํ ๋๋ง๋ค month์์ ์๋ ์ฝ๋๊ฐ ์คํ๋๋ค watch : { month(a){ if(a >= 13) alert('13๊ฐ์์ ์ํ์์~!'); }, }, 2-1. month(a){} a๋ month์ ๊ฐ์ด๋ค 2-2. month(a,b){} b๋ ๋ณ๊ฒฝ ์ ๋ฐ์ดํฐ๊ฐ ๋๋ค
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dFrqES/btrbahFqOgn/V8y42WEXqWOkF80r8JjVo0/img.jpg)
1. input์ ์ ๋ ฅํ ๊ฐ ์์๋ด๊ธฐ ์ฌ์ฉ์๊ฐ input์ ๊ฐ์ ์ ๋ ฅํ ๋๋ง๋ค ์คํ๋จ @input="$event.target.value" //e.target.value๋ ๊ฐ์๊ฑฐ์ 2. input์ ์ ๋ ฅํ ๊ฐ์ ๋ฐ์ดํฐ์ ์ ์ฅํ๊ธฐ ๋ฐ์ดํฐ์ ๋ฑ๋ก data(){ return{ month : 1, } }, ์ ์ฅํ๊ธฐ ์ฌ์ฉํ๊ธฐ - {{ }}์์ ์์ผ๋ฏ๋ก ์ค๋ณตํด์ {} ์์จ์ค๋ ๋จ {{์๋ฃธ๋ค[clicked].price * month }} 3. ์ถ์ฝ๋ฒ์ ์ ์ ๊ฐ ์ ๋ ฅํ ๊ฐ์ด month๋ก ์ ์ฅ๋จ , ๋ฑ๋ฑ์๋ ์ ์ฉ ๊ฐ๋ฅ 4. input๊ฐ์ ์ซ์๋ก ์ ์ฅํ๊ธฐ โ input์ ์ ๋ ฅํ ๊ฐ์ ์ ๋ถ ๋ฌธ์์๋ฃํ์ผ๋ก ์ ์ฅ๋๋ค โ {{์๋ฃธ๋ค[clicked].price month }} ์ฌ๊ธฐ์ ๋์ +๋ก ์ฐ๋ฉด input์ ๋ฌธ์ํ์ผ๋ก ์ ์ฅ๋๊ธฐ ๋..