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

vue如何在自定義組件中使用v-model

 更新時間:2018年05月14日 13:49:25   作者:U-FEX  
本篇文章主要介紹了vue如何在自定義組件中使用v-model,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

v-model指令

所謂的“指令”其實就是擴展了HTML標(biāo)簽功能(屬性)。

先來一個組件,不用vue-model,正常父子通信

<!-- parent -->
<template>
<div class="parent">
  <p>我是父親, 對兒子說: {{sthGiveChild}}</p>
  <Child @returnBack="turnBack" :give="sthGiveChild"></Child>
</div>
</template>
<script>
import Child from './Child.vue';
export default {
  data() {
    return {
      sthGiveChild: '給你100塊'
    };
  },
  components: {
    Child
  },
  methods: {
    turnBack(val) {
      this.sthGiveChild = val;
    }
  }
}
</script>
<!-- child -->
<template>
<div class="child">
  <p>我是兒子,父親對我說: {{give}}</p>
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="returnBackFn">回應(yīng)</a>
</div>
</template>
<script>
export default {
  props: {
    give: String
  },
  methods: {
    returnBackFn() {
      this.$emit('returnBack', '還你200塊');
    }
  }
}
</script>

點擊回應(yīng)后,父親對兒子說的話變成了兒子的回應(yīng)。兒子收到的信息也變了,實現(xiàn)通信。

改用v-model

<!-- parent -->
<template>
<div class="parent">
  <p>我是父親, 對兒子說: {{sthGiveChild}}</p>
  <Child v-model="sthGiveChild"></Child>
</div>
</template>
<script>
import Child from './Child.vue';
export default {
  data() {
    return {
      sthGiveChild: '給你100塊'
    };
  },
  components: {
    Child
  }
}
</script>
<!-- child -->
<template>
<div class="child">
  <p>我是兒子,父親對我說: {{give}}</p>
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="returnBackFn">回應(yīng)</a>
</div>
</template>
<script>
export default {
  props: {
    give: String
  },
  model: {
    prop: 'give',
    event: 'returnBack'
  },
  methods: {
    returnBackFn() {
      this.$emit('returnBack', '還你200塊');
    }
  }
}
</script>

文案雖有不同,但是效果最終是一致的。

看看官方自定義組件的v-model

官方例子https://vuefe.cn/v2/api/#model

有這么一句話: 默認(rèn)情況下,一個組件上的 v-model 會把 value 用作 prop 且把 input 用作 event。

嘗試把上邊子組件的例子改一下,也是跑的通的

<!-- child -->
<template>
<div class="child">
  <p>我是兒子,父親對我說: {{value}}</p>
  <a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="returnBackFn">回應(yīng)</a>
</div>
</template>
<script>
export default {
  props: {
    value: String
  },
  methods: {
    returnBackFn() {
      this.$emit('input', '還你200塊');
    }
  }
}
</script>

做一下總結(jié):

如果你懶,不想自己去處理事件,那就用默認(rèn)的 'value' && 'input' 事件去處理,如果用原生事件的,甚至連model屬性也可以省去。

如果你想自己的代碼比較明確,區(qū)分出自定義事件,那么下面的組合才是你的菜。

prop和event看你自己心情定義,當(dāng)然要知名見意【盡量避開關(guān)鍵字】

model: {
prop: 'someProp', // 注意,是prop,不帶s。我在寫這個速記的時候,多寫了一個s,調(diào)試到懷疑人生
event: 'someEvent'
}
this.$emit('someProp', [returnValueToParent])

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

相關(guān)文章

  • Vue?調(diào)用攝像頭掃描條碼功能實現(xiàn)代碼

    Vue?調(diào)用攝像頭掃描條碼功能實現(xiàn)代碼

    本文介紹了如何使用Vue.js和jsQR庫來實現(xiàn)調(diào)用攝像頭并掃描條碼的功能,通過安裝依賴、獲取攝像頭視頻流、解析條碼等步驟,實現(xiàn)了從開始掃描到停止掃描的完整流程,同時,還強調(diào)了瀏覽器兼容性、HTTPS環(huán)境、權(quán)限問題和性能優(yōu)化的重要性,感興趣的朋友一起看看吧
    2025-03-03
  • Vue實現(xiàn)驗證碼登錄的方法實例

    Vue實現(xiàn)驗證碼登錄的方法實例

    最近在自己寫頁面,然后寫登錄注冊UI的時候需要一個驗證碼組件,去搜一下沒找到什么合適的,于是自己寫一個,這篇文章主要給大家介紹了關(guān)于Vue實現(xiàn)驗證碼登錄的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Element?Plus修改表格行和單元格樣式詳解

    Element?Plus修改表格行和單元格樣式詳解

    在使用Element Plus中的table組件展示數(shù)據(jù)時,由于需要對表格行內(nèi)數(shù)據(jù)的數(shù)據(jù)進行修改,下面這篇文章主要給大家介紹了關(guān)于Element?Plus修改表格行和單元格樣式的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • 分享vue.js devtools遇到一系列問題

    分享vue.js devtools遇到一系列問題

    這篇文章主要為大家詳細(xì)介紹了vue.js devtools遇到問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Vue實現(xiàn)開關(guān)按鈕拖拽效果

    Vue實現(xiàn)開關(guān)按鈕拖拽效果

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)開關(guān)按鈕拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Vue2.0 slot分發(fā)內(nèi)容與props驗證的方法

    Vue2.0 slot分發(fā)內(nèi)容與props驗證的方法

    本篇文章主要介紹了Vue2.0 slot分發(fā)內(nèi)容與props驗證的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • vue中進入詳情頁記住滾動位置的方法(keep-alive)

    vue中進入詳情頁記住滾動位置的方法(keep-alive)

    今天小編就為大家分享一篇vue中進入詳情頁記住滾動位置的方法(keep-alive),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue項目基于WebRTC實現(xiàn)一對一音視頻通話

    vue項目基于WebRTC實現(xiàn)一對一音視頻通話

    這篇文章主要介紹了vue項目基于WebRTC實現(xiàn)一對一音視頻通話效果,實現(xiàn)代碼分為前端和后端兩部分代碼,需要的朋友可以參考下
    2024-05-05
  • vue如何使用 Slot 分發(fā)內(nèi)容實例詳解

    vue如何使用 Slot 分發(fā)內(nèi)容實例詳解

    本篇文章主要介紹了vue如何使用 Slot 分發(fā)內(nèi)容實例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 前端Vue如何獲取登錄的用戶名或用戶id代碼實例

    前端Vue如何獲取登錄的用戶名或用戶id代碼實例

    在前端開發(fā)中,獲取登錄用戶的用戶名是一項常見的需求,這篇文章主要給大家介紹了關(guān)于前端Vue如何獲取登錄的用戶名或用戶id的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07

最新評論

巴彦淖尔市| 花莲市| 泾源县| 垦利县| 自治县| 衢州市| 高碑店市| 长顺县| 安国市| 革吉县| 蒙自县| 永仁县| 仙游县| 河北区| 荥经县| 石棉县| 奎屯市| 卓资县| 凤凰县| 比如县| 长丰县| 资中县| 邛崃市| 广安市| 砚山县| 乌鲁木齐市| 赤水市| 临安市| 炎陵县| 扬中市| 闵行区| 澜沧| 涪陵区| 得荣县| 开封县| 界首市| 呼图壁县| 建湖县| 北碚区| 贵溪市| 西充县|