日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vue——自定义组件的 v-model

發布時間:2024/10/5 vue 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vue——自定义组件的 v-model 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

官方文檔

https://cn.vuejs.org/v2/guide/components-custom-events.html?#自定義組件的-v-model

解決方案

一個組件上的?v-model?默認會利用名為?value?的 prop 和名為?input?的事件,但是像單選框、復選框等類型的輸入控件可能會將?value?attribute 用于不同的目的。model?選項可以用來避免這樣的沖突:

Vue.component('base-checkbox', {model: {prop: 'checked',event: 'change'},props: {checked: Boolean},template: `<inputtype="checkbox"v-bind:checked="checked"v-on:change="$emit('change', $event.target.checked)">` })

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

<base-checkbox v-model="lovingVue"></base-checkbox>

這里的?lovingVue?的值將會傳入這個名為?checked?的 prop。同時當?<base-checkbox>?觸發一個?change?事件并附帶一個新的值的時候,這個?lovingVue?的屬性將會被更新。

注意你仍然需要在組件的?props?選項里聲明?checked?這個 prop。

默認狀態下是model:{prop:’value’,event:’change’}?

業務邏輯?

  • 當有數據輸入時觸發了該組件的input事件
  • 手動觸發父組件的input事件并將值傳給父組件
  • 父組件的input事件被觸發,將傳來的值賦給父組件的變量value,實現輸入框value到父元素的value的單向綁定
  • 父組件value的值綁定到value
  • 將父組件的value值通過props傳遞給子組件,實現了父組件的value到子組件value的單向綁定
  • 參考文章

    https://blog.csdn.net/orq18810575870/article/details/82027514

    https://www.cnblogs.com/wind-lanyan/p/7899428.html

    https://www.cnblogs.com/eret9616/p/11311264.html

    總結

    以上是生活随笔為你收集整理的Vue——自定义组件的 v-model的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。