๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปWEB FrontEnd/ํ”„๋ ˆ์ž„์›Œํฌ Vue

v-model ๋ฐ”์ธ๋”ฉ

์บกํ‹ดํŒ๊ต๋‹˜์˜ ๊ฒŒ์‹œ๋ฌผ์„ ์ฐธ๊ณ ํ•ด ์ž‘์„ฑ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 


1. v-model

v-model ์ง€์‹œ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชจ๋ธ์— ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

โ€ป  ๋ฐ”์ธ๋”ฉ ์ง€์‹œ์ž

v-bind v-model
์ฃผ๋กœ HTML ์†์„ฑ ๋ฐ”์ธ๋”ฉ์— ์‚ฌ์šฉ ์ฃผ๋กœ ์ž…๋ ฅ๊ณผ ํผ ๋ฐ”์ธ๋”ฉ์— ์‚ฌ์šฉ

 

 

2. v-model ์‚ฌ์šฉ๋ฒ•

1) v-model ์‚ฌ์šฉํ•ด ๋ฐ”์ธ๋”ฉ

<input v-model="inputText">
new Vue({
  data: {
    inputText: ''
  }
})

2) v-bind์™€ v-on์„ ์‚ฌ์šฉํ•ด ๋ฐ”์ธ๋”ฉ

<input v-bind:value="inputText" v-on:input="updateInput">
new Vue({
  data: {
    inputText: ''
  },
  methods: {
    updateInput: function(event) {
      var updatedText = event.target.value;
      this.inputText = updatedText;
    }
  }
})

 

1๋ฒˆ ๋ฐฉ๋ฒ•๊ณผ 2๋ฒˆ ๋ฐฉ๋ฒ•์€ ๋™์ž‘ํ•˜๋Š” ์›๋ฆฌ๊ฐ€ ๊ฐ™๋‹ค.

์ฐจ์ด์ ์ด ์žˆ๋‹ค๋ฉด, v-bind์™€ v-on์„ ์ด์šฉํ•˜๋Š” ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ์–ธ์–ด์— ๋”ฐ๋ฅธ ์ฐจ์ด์—†์ด ๋™์ผํ•˜๊ฒŒ ์ž‘์šฉํ•˜์ง€๋งŒ, v-model์„ ์ด์šฉํ•˜๋Š” ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•œ๊ตญ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›๊ฒŒ ๋œ๋‹ค๋ฉด ํ•œ๊ธ€์ž์”ฉ ๋‚˜์ค‘์— ๋ฐ”์ธ๋”ฉ ๋œ๋‹ค๋Š” ํ•œ๊ณ„์ ์ด ์žˆ๋‹ค. 

 

 

3. v-model ์†์„ฑ

HTML ์ž…๋ ฅ ์š”์†Œ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ v-model ์†์„ฑ์ด ๊ฐ๊ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋œ๋‹ค.

  1. input ํƒœ๊ทธ์—๋Š” value / input
  2. checkbox ํƒœ๊ทธ์—๋Š” checked / change
  3. select ํƒœ๊ทธ์—๋Š” value / change