最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

自定義Vue中的v-module雙向綁定的實(shí)現(xiàn)

 更新時(shí)間:2019年04月17日 10:41:38   作者:JS菌  
這篇文章主要介紹了自定義Vue中的v-module雙向綁定的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

v-module 雙向綁定實(shí)際上就是通過(guò)子組件中的 $emit 方法派發(fā) input 事件,父組件監(jiān)聽(tīng) input 事件中傳遞的 value 值,并存儲(chǔ)在父組件 data 中;然后父組件再通過(guò) prop 的形式傳遞給子組件 value 值,再子組件中綁定 input 的 value 屬性即可。

我們著手實(shí)現(xiàn)一遍:

子組件傳值

首先子組件需要一個(gè) input 標(biāo)簽,這個(gè) input 標(biāo)簽需要綁定 input 事件,$emit 觸發(fā)父組件的 input 事件,通過(guò)這種方法子組件傳遞值給父組件

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

父組件監(jiān)聽(tīng) input 事件,然后將事件攜帶的 input 輸入的值傳入到 data 狀態(tài)中

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

至此子組件監(jiān)聽(tīng) input 事件,用戶(hù)輸入字符串即可被父組件獲取到并保存在 data 狀態(tài)中

父組件傳值

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

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

增加 :value="value" 通過(guò) prop 傳遞 value

子組件中綁定 input 的 value 屬性

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

注意 props 中需要設(shè)定 value

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

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

其他元素使用 v-model

在 input 上使用 v-model 比較簡(jiǎn)單,但考慮到其他元素不一定是要監(jiān)聽(tīng) input 事件而是 change 事件,也不一定是 value 屬性改變?cè)氐膬?nèi)容。比如 checkbox,我們就需要監(jiān)聽(tīng) change 事件,以及 checked 屬性。

那么先手動(dòng)實(shí)現(xiàn)一遍:

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

子組件首先監(jiān)聽(tīng) change 事件,并 $emit 方法觸發(fā)父組件的 change 事件,將 checked 屬性值傳入給父組件;同時(shí)接收父組件傳遞進(jìn)來(lái)的 checked 值,根據(jù) checked 值決定 input 元素的 checked 屬性。

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

然后需要修改父組件:

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

父組件監(jiān)聽(tīng) change 事件,并在 data 中維護(hù)狀態(tài) checked,默認(rèn)值為 false

最后看看效果:

直接使用 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'
 }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue獲取頁(yè)面元素的相對(duì)位置的方法示例

    Vue獲取頁(yè)面元素的相對(duì)位置的方法示例

    這篇文章主要介紹了Vue獲取頁(yè)面元素的相對(duì)位置的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 詳解如何在Vue項(xiàng)目中導(dǎo)出Excel

    詳解如何在Vue項(xiàng)目中導(dǎo)出Excel

    這篇文章主要介紹了如何在Vue項(xiàng)目中導(dǎo)出Excel,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue-admin-template解決登錄和跨域問(wèn)題解決

    vue-admin-template解決登錄和跨域問(wèn)題解決

    本文主要介紹了vue-admin-template解決登錄和跨域問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • vue中watch和computed的區(qū)別詳解

    vue中watch和computed的區(qū)別詳解

    這篇文章主要給大家介紹了關(guān)于vue中watch和computed區(qū)別的相關(guān)資料,computed和watch都是vue框架中的用于監(jiān)聽(tīng)數(shù)據(jù)變化的屬性,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Vue3中實(shí)現(xiàn)微信掃碼登錄的步驟和代碼示例

    Vue3中實(shí)現(xiàn)微信掃碼登錄的步驟和代碼示例

    在 Vue 3 中實(shí)現(xiàn)微信掃碼登錄,涉及到前端生成二維碼、監(jiān)聽(tīng)微信回調(diào)以及與后端的交互,本文給大家介紹了一個(gè)詳細(xì)的實(shí)現(xiàn)步驟和代碼示例,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • vue靜態(tài)界面之左二級(jí)菜單右表單表格的實(shí)例代碼

    vue靜態(tài)界面之左二級(jí)菜單右表單表格的實(shí)例代碼

    這篇文章主要介紹了vue靜態(tài)界面之左二級(jí)菜單右表單表格,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 基于vue2.0實(shí)現(xiàn)仿百度前端分頁(yè)效果附實(shí)現(xiàn)代碼

    基于vue2.0實(shí)現(xiàn)仿百度前端分頁(yè)效果附實(shí)現(xiàn)代碼

    本文通過(guò)實(shí)例代碼給大家介紹了基于vue2.0實(shí)現(xiàn)仿百度前端分頁(yè)效果,在文中給大家記錄了遇到的問(wèn)題及解決方法,需要的朋友可以參考下
    2018-10-10
  • 如何用 Deepseek 寫(xiě)的uniapp血型遺傳查詢(xún)工具

    如何用 Deepseek 寫(xiě)的uniapp血型遺傳查詢(xún)工具

    在現(xiàn)代社會(huì)中,了解血型遺傳規(guī)律對(duì)于優(yōu)生優(yōu)育、醫(yī)療健康等方面都有重要意義,本文將介紹如何使用Uniapp開(kāi)發(fā)一個(gè)跨平臺(tái)的血型遺傳查詢(xún)工具,幫助用戶(hù)預(yù)測(cè)孩子可能的血型,感興趣的朋友一起看看吧
    2025-04-04
  • 詳解如何用模塊化的方式寫(xiě)vuejs

    詳解如何用模塊化的方式寫(xiě)vuejs

    這篇文章主要介紹了詳解如何用模塊化的方式寫(xiě)vuejs,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Vue-router 中hash模式和history模式的區(qū)別

    Vue-router 中hash模式和history模式的區(qū)別

    這篇文章主要介紹了Vue-router 中hash模式和history模式的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論

南安市| 汝南县| 行唐县| 柯坪县| 普定县| 黔东| 桂林市| 无为县| 偃师市| 南投市| 全南县| 新巴尔虎右旗| 通道| 屏山县| 瓮安县| 莱阳市| 平利县| 饶平县| 洛南县| 苍梧县| 三原县| 泾阳县| 原阳县| 贡嘎县| 客服| 望奎县| 广安市| 卢龙县| 内乡县| 南郑县| 交口县| 孝感市| 克什克腾旗| 曲阜市| 海盐县| 咸宁市| 长宁县| 阿克苏市| 南平市| 旬阳县| 阜平县|