91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Vue中利用v-module實現雙向綁定

發布時間:2021-04-20 16:30:52 來源:億速云 閱讀:330 作者:Leah 欄目:web開發

怎么在Vue中利用v-module實現雙向綁定?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Vue的優點

Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。

首先子組件需要一個 input 標簽,這個 input 標簽需要綁定 input 事件,$emit 觸發父組件的 input 事件,通過這種方法子組件傳遞值給父組件

<input type="text" @input="$emit('input', $event.target.value)">

父組件監聽 input 事件,然后將事件攜帶的 input 輸入的值傳入到 data 狀態中

<my-comp @input="value = $event"></my-comp>
export default {
 // ...
 data () {
  return {
   value: 'initial value' // 維護一個 value 狀態
  }
 }
}

至此子組件監聽 input 事件,用戶輸入字符串即可被父組件獲取到并保存在 data 狀態中

父組件傳值

然后父組件還需要將 value 值傳遞給子組件,子組件再綁定 value 值到 input 的 value 屬性上

<my-comp :value="value" @input="value = $event"></my-comp>

增加 :value="value" 通過 prop 傳遞 value

子組件中綁定 input 的 value 屬性

<input type="text" @input="$emit('input', $event.target.value)" :value="value">

注意 props 中需要設定 value

export default {
 name: 'MyComp',
 props: ['value']
}

至此自定義的 v-module 處理完畢,看看效果:

怎么在Vue中利用v-module實現雙向綁定

其他元素使用 v-model

在 input 上使用 v-model 比較簡單,但考慮到其他元素不一定是要監聽 input 事件而是 change 事件,也不一定是 value 屬性改變元素的內容。比如 checkbox,我們就需要監聽 change 事件,以及 checked 屬性。

那么先手動實現一遍:

<input type="checkbox" @change="$emit('change', $event.target.checked)" :checked="checked">

子組件首先監聽 change 事件,并 $emit 方法觸發父組件的 change 事件,將 checked 屬性值傳入給父組件;同時接收父組件傳遞進來的 checked 值,根據 checked 值決定 input 元素的 checked 屬性。

export default {
 name: 'MyComp',
 props: ['checked']
}

然后需要修改父組件:

<my-comp @change="checked = $event"></my-comp>
export default {
  // ...
 data () {
  return {
   checked: false
  }
 }
}

父組件監聽 change 事件,并在 data 中維護狀態 checked,默認值為 false

最后看看效果:

怎么在Vue中利用v-module實現雙向綁定

直接使用 v-model 指令

此外還可直接使用 v-model 指令:

<my-comp v-model="checked"></my-comp>

但需要在組件中修改 v-model 指令,指定 prop 和 event:

export default {
 name: 'MyComp',
 props: ['checked'],
 model: {
  prop: 'checked',
  event: 'change'
 }
}

看完上述內容,你們掌握怎么在Vue中利用v-module實現雙向綁定的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

永胜县| 前郭尔| 乐清市| 于田县| 宝清县| 大悟县| 遂昌县| 西平县| 屯门区| 沙雅县| 郎溪县| 汾阳市| 岳普湖县| 涪陵区| 浑源县| 临夏县| 福建省| 和静县| 峡江县| 文化| 湖南省| 琼海市| 阳城县| 宁化县| 汉源县| 霸州市| 和龙市| 义马市| 定日县| 安多县| 平罗县| 新兴县| 水富县| 丰都县| 湄潭县| 蕲春县| 石楼县| 景洪市| 洞口县| 平谷区| 临朐县|