乙個元件上的 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 暫...