티스토리 뷰
사용자의 입력값을 받는 방법으로 v-model과 v-on:input 방법이 있다.
두 가지 방법에 어떤 차이가 있는지 정리해보려고 한다.
v-model
<input value='text' v-model="changeWord"/>
v-model 자체가 v-bind와 v-on의 조합으로 작동하는 것과 같다.
<input v-bind:value="word" v-on:input="changeWord"/>
...
<script>
export default {
...
methods: {
changeWord(e) {
this.word = e.target.value;
},
}
...
}
</script>
- v-bind 속성은 데이터 값을 해당 HTML 요소와 연결할 때 사용한다.
- v-on은 HTML에서 발생한 이벤트를 아래 methods의 로직과 연결할 때 사용된다.
- HTML의 input 종류에 따라 v-model의 v-bind, v-on의 구성이 달라진다.
input --> v-bind:value | v-on:input
checkbox --> v-bind:checked | v-on:change
select --> v-bind:value | v-on:change
v-model이 v-bind/v-on가 같은 기능에 더 간결한 코드 작성을 보여주지만 한 가지 단점으로는
IME 입력(한국어, 일본어, 중국어)에 대해서 한 글자에 대한 입력이 모두 끝난 후에 입력이 되는 단점이 있다.
v-model 영어 입력
- v-model 한국어 입력
'요'글자 입력이 끝나야 아래 결괏값에 반영되는 것을 확인할 수 있었다.
v-model을 사용하여 한국어를 올바르게 처리하는 방법을 구글링을 통해 찾긴 했지만
개인적으로 v-bind | v-on으로 처리하는 것이 더 나아 보인다.
아래 참고 블로그 글을 확인하면 그 방법을 확인할 수 있다.
#Reference
'Vue&React' 카테고리의 다른 글
[React] React.memo(), useMemo(), useCallback() (0) | 2022.02.27 |
---|---|
[Vue.js] computed와 methods ( + watch ) (0) | 2022.01.17 |
[Vue.js] Vue 3.x eslint 설정 끄는 방법 (0) | 2022.01.09 |
[Vue.js] v-for에서의 key의 중요성 (0) | 2022.01.04 |
[Vue.js] v-if 와 v-for의 우선순위 (0) | 2022.01.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Transpiler
- 상호평가
- redux-thunk
- 파이썬
- SOAP API
- 문제풀이
- reactrouter
- Vue.js
- React.memo
- React
- v-for
- error
- TypeScript
- Vue
- Repository Pattern
- clean code
- AxiosInterceptor
- 프로그래머스
- js
- Preloading
- webpack
- redux
- Vuex
- GraphQL
- SPA
- 알고리즘
- programmers
- bundler
- 백준
- python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함