Vue自定義雙向繫結

2021-10-01 18:19:13 字數 1718 閱讀 2418

父子元件雙向繫結v-model

非表單元素

<

!-- children.vue --

>

}<

/h1>

<

/template>

export

default

, props:},

mounted()

,3000);

}};<

/script>

<

!-- parent.vue --

>

"message"

>

<

/children>

<

/template>

import children from

"@/components/children.vue"

;export

default

,data()

;}, watch:}}

;<

/script>

1.非表單元素使用自定義v-model進行雙向繫結傳值,以上所示

2.表單元素input,radio等監聽表單的input或者change事件,實時將value或者checked通過$emit傳遞

父子元件多個雙向繫結
v-model實現單個prop值的雙向繫結,當元件的需求需要複雜的操作,需要多個雙向值,就需要用到.sync修飾符

<

!-- children.vue --

>

}<

/h1>

<

/template>

export

default},

mounted()

,3000);

}};<

/script>

<

!-- parent.vue --

>

"message"

>

<

/children>

<

/template>

import children from

"@/components/children.vue"

;export

default

,data()

;}, watch:}}

;<

/script>

.sync實現雙向繫結,繫結物件object時,仍可實現物件內部引數值的雙向繫結

注意:子元件更新prop屬性值仍要$emit去觸發update:prop,更新父元件的變數值實現雙向資料流,不可直接對prop的屬性直接賦值

"message"

>

<

/children>

"message" @update:message=

"message = $event"

>

<

/children>

<

!-- 兩行**是等價的,$event為子元件$emit傳遞的引數 --

>

<

/template>

Vue 自定義元件雙向繫結

無論在任何的語言或框架中,我們都提倡 的復用性。對於vue來說也是如此,相同的 邏輯會被封裝成元件,除了復用之外,更重要的是統一管理提高開發效率。我真就接手過乙個專案,多個頁面都會用到的列表,沒有去封裝列表元件,只要有一點改動,每個頁面都得加上。很肯定的說,沒有用元件化開發的vue專案是沒有靈魂的。...

Vue 自定義v model資料雙向繫結

age 資料單向繫結 name 資料雙向繫結 觀察 發現,name的input 多了乙個事件繫結 input name event.target.value 所以,實現資料雙向繫結的原理就是 1 資料name單向傳遞給input 2 input觸發事件後將name的值進行了修改 child.vue ...

vue 自定義元件v model實現雙向繫結

官方文件 2.2.0 新增 型別 詳細 允許乙個自定義元件在使用 v model 時定製 prop 和 event。預設情況下,乙個元件上的 v model 會把 value 用作 prop 且把 input 用作 event,但是一些輸入型別比如單選框和核取方塊按鈕可能想使用 value prop...