๐ธVue ์ธ์คํด์ค ์์ฑํ๊ธฐ
Vue ์ธ์คํด์ค ์ต์
- el
- data
- methods
- computed
- watch
{{}} → property, mustache tag
ํ๊ธฐ๋ฒ 3๊ฐ์ง
- ์ผ๋ฐฅ ํ๊ธฐ๋ฒ : font-size
- ์นด๋ฉ ํ๊ธฐ๋ฒ : fontSize
- ํ์ค์นผ ํ๊ธฐ๋ฒ : FontSize
ํค ์์์
<input v-on:keyup.ํค์์์="๋ฉ์๋๋ช
">
<button v-on:click="countUp(3)">3์ฉ์ฆ๊ฐ</button>
ํค ์์์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์๋ค.
- .enter
- .tab
- .delete
- .esc
- .space
- .up
- .down
- .left
- .right
์์คํ ์์์ ํค
ํด๋น ์์คํ ํค์ ๋์์ ๋ค๋ฅธํค๊ฐ ๋๋ ธ์ ๋๋ง ๋ฉ์๋๋ฅผ ํธ์ถํจ
- .ctrl
- .alt
- .shift
- .meta (Windows๋ Windows ํค, maxOS๋ command ํค
๐ธ v-test, {{ }}
๐ธ v-bind
์์ฑ์ Vue ์ธ์คํด์ค์ data๋ก ์ง์
๐ธ v-model
- ํผ ์ ๋ ฅ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐ ↔ ์๋ฐฉํฅ ๋ฐ์ธ๋ฉ
๐ธ v-on
- ์ด๋ฒคํธ์ ๋ฉ์๋๋ฅผ ์ฐ๊ฒฐ
- ๋ฉ์๋๋ Vue ์ธ์คํด์ค์ methods ์ต์ ์ ์ถ๊ฐํด์ ์์ฑ
- el๋ ์ด๋ค HTML๊ณผ ์ฐ๊ฒฐํ ๊น?
- data๋ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ์์๊น?
- methods๋ ์ด๋ค ๋ช ๋ น์ด ์์๊น์ ๋ํ ๋ด์ฉ
๐ธ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ํ์ : v-if
<ํ๊ทธ๋ช
v-if="์กฐ๊ฑด1">์กฐ๊ฑด์ด true๋ผ๋ฉด ํ์</ํ๊ทธ๋ช
>
<ํ๊ทธ๋ช
v-else-if="์กฐ๊ฑด2">๊ทธ๋ ์ง ์๊ณ , ์กฐ๊ฑด2๊ฐ true๋ผ๋ฉด ํ์</ํ๊ทธ๋ช
>
<ํ๊ทธ๋ช
v-else>๊ทธ๋ ์ง ์์ผ๋ฉด ํ์</ํ๊ทธ๋ช
>
v-if์ v-show
v-if๋ ํ๊ทธ์ true, false์ ๋ฐ๋ผ HTML ํ๊ทธ๋ฅผ ์์ฑ, ์ญ์ ํ ์ ์๋ค. v-show๋ ํ๊ทธ๋ฅผ ๋ณด์ด๊ฒ ํ๊ฑฐ๋ ์ฌ๋ผ์ง๊ฒ ํ ๋ฟ, ์ค์ HTML ํ๊ทธ ์์๋ ์กด์ฌํ๋ ์ฐจ์ด์ ์ด ์๋ค. ๋ํ v-show๋ v-else์ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค.
๐ธ ๋ฐ๋ณต ํ์: v-for
<ํ๊ทธ v-for="๋ณ์ in ๋ฐฐ์ด">๋ฐ๋ณตํ๋ ๋ถ๋ถ</ํ๊ทธ>
<ํ๊ทธ v-for="๋ณ์ in ์ต๋๊ฐ">๋ฐ๋ณตํ๋ ๋ถ๋ถ </ํ๊ทธ>
<ํ๊ทธ v-for="(๋ณ์, ์ธ๋ฑ์ค) in ๋ฐฐ์ด">๋ฐ๋ณตํ๋ ๋ถ๋ถ</ํ๊ทธ>
๐ธ v-for์ v-if
<ํ๊ทธ๋ช
v-for="๋ณ์ in ๋ฐฐ์ด" v-if="์กฐ๊ฑด">์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง ํ์ํ๋ ๋ถ๋ถ</ํ๊ทธ๋ช
>
<ํ๊ทธ๋ช
v-for="๋ณ์ in ๋ฐ๋ณตํ ํ์" v-if="์กฐ๊ฑด">์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง ํ์ํ๋ ๋ถ๋ถ</ํ๊ทธ๋ช
>
- ์ค๋น๋ ๋ฐ์ดํฐ์ ํ์/๋นํ์๋ฅผ true/false๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ v-if๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๋ค.
- ๋ฐ์ดํฐ๋ Vue ์ธ์คํด์ค์ data:์ ์ค๋นํ๋ค.
- ํ๋กํผํฐ ๊ฐdata: {myVisible:false}์ ๋ณ๊ฒฝํ ์ ์๋๋ก ์ฒดํฌ๋ฐ์ค๋ฅผ ์ค๋นํ๋ฉด ์ ์ ์กฐ์์ ํ์/๋นํ์๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ค.
example
# v-if example
<p v-if="myVisible">์ฒดํฌ๋ฐ์ค๋ ON</p>
data:{
myVisible:false
}
# v-if example2
<p v-if="myVisible">์ฒดํฌ๋ฐ์ค๋ ON</p>
<p v-else>์ฒดํฌ๋ฐ์ค๋ OFF</p>
data: {
myVisible:false
}
# v-for example
<li v-for="item in myArray">{{item}}</li>
data: {
myArray: ['์ฐ๋นต', '๋ฉ๋ก ๋นต', 'ํฌ๋ก์์']
}
# v-for example2
<li v-for="item in objArray">{{item.name}}</li>
data:{
objArray: [
{name:'์ฐ๋นต', price:1000},
{name:'๋ฉ๋ก ๋นต', price:1200},
{name:'ํฌ๋ก์์', price:1500}
]
}
# v-for example3
<li v-for="n in 10">{{ n }}</li>
# v-for example4
this.myArray.push(์ถ๊ฐ๋ฐ์ดํฐ);
this.myArray.splice(์ง์ ์์น, 0, ์ถ๊ฐ๋ฐ์ดํฐ);
this.myArray.splice(์ง์ ์์น, 1, ๋ณ๊ฒฝ๋ฐ์ดํฐ);
this.myArray.splice(์ง์ ์์น, 1);
ํด๋น ๊ธ์ '๋ฐฑ๊ฒฌ๋ถ์ฌ์ผํ Vue.js ์ ๋ฌธ ๋์'๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ์์ต๋๋ค.
'Web > Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Vue.js ํน์ง (2) | 2021.05.19 |
---|