vue 筆記 自定義元件的v model

2021-10-07 21:34:45 字數 1378 閱讀 1634

​乙個元件上的 v-model 缺省會利用名為 value 的 prop 和名為 input 的事件,但是像單選框、核取方塊等型別的輸入控制項可能會將 value 特性用於不同的目的。model 選項可以用來避免這樣的衝突:

vue.component('base-checkbox', ,

props: ,

template: `

`})

現在在這個元件上使用 v-model 的時候:

這裡的 lovin**ue 的值將會傳入這個名為 checked 的 prop。同時當 觸發乙個 change 事件並附帶乙個新的值的時候,這個 lovin**ue 的屬性將會被更新。

注意:你仍然需要在元件的 props 選項裡宣告 checked 這個 prop。

這樣就能實現父元件裡面的lovin**ue的值和子元件裡面的checked的值是雙向的,值能夠同時改變!!!

實現父子元件的值雙向繫結的還有sync修飾符

sync 和 this.$emit('update:prop', '新的值')

v-model 和 this.$emit('自定義的v-model值改變時的事件', '新的值')

相同點都是不能少了在元件裡觸發值更新的事件!!!

eg2.

var modeltest = }

`,        model: ,

props: }};

components: ,

data()

},methods:

以上內容來自菜鳥教程 

總結:想要給乙個元件的繫結乙個 v-model,總共分4步驟

step1:在引用元件時,給元件新增v-model

step2:在元件內宣告model

model:
step3:在元件內的props中宣告 modelname

props: 

}

step4: 觸發model中的event, 修改v-model繫結的動態值

methods: 

}

Vue 自定義元件

元件 component 是vue.js 最強大的功能。元件可以封裝可重用的 通過傳入物件的不同,實現元件的復用,但元件傳值就成為乙個需要解決的問題。父元件向子元件傳值 元件例項的作用域是孤立的。這意味著不能在子元件的模板內直接引用父元件的資料。要讓子元件使用父元件的資料,我們需要通過子元件的 pr...

Vue 自定義元件

元件 component 是 vue.js 最強大的功能之一。元件可以擴充套件 html 元素,封裝可重用的 在較高層面上,元件是自定義元素,vue.js 的編譯器為它新增特殊功能。在有些情況下,元件也可以表現為用is 特性進行了擴充套件的原生 html 元素。所有的 vue 元件同時也都是 vue...

vue 元件自定義

基於iview的自定義table元件 一 業務要求 1.展示列表字段資訊.2.列表資料的增刪查改 與 匯出 3.列表的分頁功能 二 元件 實現 html ref table data arrlist columns currcolumns loading loading no data text 暫...