使用方式
子元件:
示例**:
// 父元件
"message"
>
<
/children>
<
/template>
import children from
"./children.vue"
;export
default
,data()
;}, watch:}}
;<
/script>
// 子元件
}<
/h1>
<
/template>
export
default
, props:
,mounted()
,1500);
}};<
/script>
本質
v-model
本質上就是乙個語法糖。相當於為父元件繫結了乙個props
與更新事件,當子元件資料更新時,實質上是呼叫了input
事件來改變父元件的值:
"message" @input=
"(event) => "
/>
<
/template>
使用方法
子元件:
示例**:
// 父元件
"message"
/>
<
/template>
import children from
"./children.vue"
;export
default
,data()
;}, watch:}}
;<
/script>
// 子元件
}<
/h1>
<
/template>
export
default
,mounted()
,1500);
}};<
/script>
本質
.sync是為了實現對props
的雙向繫結。比如,現在有乙個包含title prop
的元件,可以用以下方法表達對其賦新值的意圖:
this.$emit('update:title', newtitle);
然後父元件可以監聽那個事件並根據需要更新乙個本地的資料屬性:
"title" @update:title=
"title = $event"
/>
<
/template>
兩者差異
兩者的本質都是語法糖,目的都是實現元件與外部資料的雙向繫結。v-model 是 .sync的一種體現(prop是value
,vm.$emit('update:input')
)。.sync 比較靈活,v-model比較單一。
v-model能在像單選框、核取方塊等型別的輸入控制項中實現雙向繫結,但是如果它使用在乙個元件上,就無法實現雙向繫結,因為從它的本質上看,它就是繫結value
值,監聽input
事件,通過event
拿到新的value
並賦值給value
。
總的來說,v-model傾向於「value」
,是元件最終的操作結果。.sync傾向於「change」
,它是父元件獲取子元件狀態的一種快捷方式,否則我們很可能需要用事件來判斷子元件狀態。是一種update
操作。
sync和v model的區別
v model雙向繫結實現 單向資料流 父元件將值傳遞給子元件,子元件修改值時,將當前值e.target.value傳遞給父元件,父元件將該值傳遞給子元件,子元件的值修改 子元件 kinput.vue 父元件 parent.vue v model等同於 value input事件的結合 sync修飾...
Vue中v bind與v model的區別
簡單來說,區別如下 1.v bind用來繫結資料和屬性以及表示式,縮寫為 2.v model使用在表單中,實現雙向資料繫結的,在表單元素外使用不起作用 v model多在表單中使用,在表單元素上建立雙向繫結,根據控制項型別選擇正確的方法更新元素,可以繫結text radio checkbox sel...
vue中v model是個啥?
v model實際上只是一種語法糖,有時需要我們自定義去雙向繫結資料,這時候就需要對v model的實質有一定的了解了 當我們這樣寫時 something 複製 其實寫的是這樣乙個內容 something input something arguments 0 複製 所以當你想對乙個子元件的內容和父...