Vue.js—v-model과 v-bind의 차이
온라인 코스로 부에를 배우고 있는데 강사가 기본값을 입력하는 연습을 시켜줬어.I completed it with usv-model
하지만 강사는 선택했다.v-bind:value
왜 그런지 모르겠어
이 둘의 차이와 각각의 것을 사용하는 것이 더 좋을 때 누가 나에게 간단한 설명을 해줄 수 있을까?
여기서부터 - 기억하십시오.
<input v-model="something">
본질적으로 다음과 같다.
<input
v-bind:value="something"
v-on:input="something = $event.target.value"
>
또는 (속어 구문):
<input
:value="something"
@input="something = $event.target.value"
>
그렇게v-model
폼 입력에 대한 양방향 바인딩.그것은 결합한다.v-bind
, 그리고 마크업으로 js 값을 가져오고v-on:input
js 값을 업데이트한다.js 값이 있어야 함data
, 또는 .inject
.
사용하다v-model
네가 할 수 있을 때사용하다v-bind
/v-on
꼭 :-) 당신의 대답이 받아들여졌기를 바란다.
v-model
모든 기본 HTML 입력 유형(텍스트, 텍스트 영역, 번호, 라디오, 확인란, 선택)과 함께 작동한다.사용할 수 있다v-model
와 함께input type=date
모델이 날짜를 ISO 문자열(yyyy-mm-dd)로 저장하는 경우모델에서 날짜 객체(날짜 객체를 조작하거나 형식을 지정하려는 즉시 좋은 생각)를 사용하려면 이렇게 하십시오.
v-model
알아두면 좋을 만큼 똑똑하지IME(많은 모바일 키보드 또는 중국어/일본어/한국어)를 사용하는 경우, v-model은 단어가 완성될 때까지 업데이트되지 않는다(스페이스를 입력하거나 사용자가 필드를 이탈함 v-input
훨씬 더 자주 발사될 것이다.
v-model
또한 수식어도 있다..lazy
,.trim
,.number
의사한테 가려져 있어
간단히 말하면v-model
입력 값을 변경하면 바인딩 데이터가 변경되고 그 반대의 경우도 마찬가지다.
그렇지만v-bind:value
바운드 데이터를 변경하여 입력 값을 변경할 수는 있지만 요소를 통해 입력 값을 변경하여 바인딩 데이터를 변경할 수는 없다는 의미인 단방향 바인딩이라고 한다.
다음 간단한 예를 참조하십시오: https://jsfiddle.net/gs0kphvc/
v-모델
양방향 데이터 바인딩으로, 입력값을 변경하면 html 입력 요소를 바인딩하는 데 사용되며, 그러면 바인딩된 데이터가 변경된다.
v-model은 HTML 입력 요소에만 사용됨
ex: <input type="text" v-model="name" >
v-back
단방향 데이터 바인딩으로, 입력 요소에만 데이터를 바인딩할 수 있지만 입력 요소를 변경하는 바인딩된 데이터를 변경할 수 없음. v-properties는 html 속성을 바인딩하는 데 사용됨
ex:
<input type="text" v-bind:class="abc" v-bind:value="">
<a v-bind:href="home/abc" > click me </a>
v-model은 입력 값을 변경하면 바인딩 데이터가 변경되고 그 반대의 경우도 마찬가지라는 양방향 바인딩의 의미를 갖는다.그러나 v-bind:value는 바운드 데이터를 변경하여 입력 값을 변경할 수 있지만 요소를 통해 입력 값을 변경하여 바인딩 데이터를 변경할 수는 없다는 것을 의미하는 단방향 바인딩이라고 한다.
v-모델은 폼 요소와 함께 사용하도록 설계되었다.이를 통해 양식 요소(예: 텍스트 입력)를 Vue 인스턴스의 데이터 개체와 연결할 수 있다.
예: https://jsfiddle.net/jamesbrndwgn/j2yb9zt1/1/
v-properties는 사용자 지정 소품을 만드는 데 구성 요소와 함께 사용하도록 설계되었다.이렇게 하면 구성 요소에 데이터를 전달할 수 있다.프로펠러가 반응하기 때문에 구성요소에 전달된 데이터가 변경되면 구성요소는 이러한 변화를 반영할 것이다.
Example: https://jsfiddle.net/jamesbrndwgn/ws5kad1c/3/
이것이 기본적인 이해에 도움이 되기를 바란다.
사용하지 않으려는 경우가 있다.v-model
두 개의 입력이 있고 각각 서로 의존하는 경우, 순환 참조 문제가 있을 수 있다.일반적인 사용 사례는 회계 계산기를 만드는 경우 입니다.
이런 경우, 감시자나 계산된 속성을 사용하는 것은 좋지 않다.
대신, 당신의 것을 가져가세요.v-model
위 답변에서 알 수 있듯이 분할한다.
<input
:value="something"
@input="something = $event.target.value"
>
실제로 이런 식으로 논리를 디커플링하고 있다면 아마 방법을 부르고 있을 것이다.
실제 세계 시나리오에서는 다음과 같이 보일 것이다.
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<input :value="extendedCost" @input="_onInputExtendedCost" />
<p> {{ extendedCost }}
</div>
<script>
var app = new Vue({
el: "#app",
data: function(){
return {
extendedCost: 0,
}
},
methods: {
_onInputExtendedCost: function($event) {
this.extendedCost = parseInt($event.target.value);
// Go update other inputs here
}
}
});
</script>
참조URL: https://stackoverflow.com/questions/42260233/vue-js-difference-between-v-model-and-v-bind
'programing' 카테고리의 다른 글
react-remensx-firebase 프로젝트에서 기능 구성요소에 클래스 구성요소를 다시 쓰는 중 (0) | 2022.03.14 |
---|---|
PropTypes DOM 요소를 반응하시겠습니까? (0) | 2022.03.14 |
재료-UI의 탭과 반응 라우터 4의 통합? (0) | 2022.03.14 |
어레이 속성을 중단하지 않고 TypeScript 딥 부분 매핑 유형을 구현하는 방법 (0) | 2022.03.14 |
ASP에서 VueJS에 의한 경로 처리 방법.엔드포인트를 사용하는 NET Core? (0) | 2022.03.14 |