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

vue組件傳值的實(shí)現(xiàn)方式小結(jié)【三種方式】

 更新時(shí)間:2020年02月05日 09:07:45   作者:不想寫代碼的碼農(nóng)  
這篇文章主要介紹了vue組件傳值的實(shí)現(xiàn)方式,結(jié)合實(shí)例形式總結(jié)分析了vue.js組建傳值的三種實(shí)現(xiàn)方式,包括父傳子、子傳父及非父子傳值,需要的朋友可以參考下

本文實(shí)例講述了vue組件傳值的實(shí)現(xiàn)方式。分享給大家供大家參考,具體如下:

前言

vue的組件傳值分為三種方式:父傳子、子傳父、非父子組件傳值

引用官網(wǎng)的一句話:父子組件的關(guān)系可以總結(jié)為 prop 向下傳遞,事件向上傳遞

父組件通過 prop 給子組件下發(fā)數(shù)據(jù),子組件通過事件給父組件發(fā)送消息,如下圖所示:

下面我們就開始用代碼(一言不合就上代碼)詳細(xì)的介紹vue組件傳值的三種方式

1、父傳子

子組件的代碼:

<template>
  <div id="container">
    {{msg}}
  </div>
</template>
<script>
export default {
 data() {
  return {};
 },
 props:{
  msg: String
 }
};
</script>
<style scoped>
#container{
  color: red;
  margin-top: 50px;
}
</style>

父組件的代碼:

<template>
  <div id="container">
    <input type="text" v-model="text" @change="dataChange">
    <Child :msg="text"></Child>
  </div>
</template>
<script>
import Child from "@/components/Child";
export default {
 data() {
  return {
   text: "父組件的值"
  };
 },
 methods: {
  dataChange(data){
    this.msg = data
  }
 },
 components: {
  Child
 }
};
</script>
<style scoped>
</style>

父傳子的實(shí)現(xiàn)方式就是通過props屬性,子組件通過props屬性接收從父組件傳過來的值,而父組件傳值的時(shí)候使用 v-bind 將子組件中預(yù)留的變量名綁定為data里面的數(shù)據(jù)即可

2、子傳父

子組件代碼:

<template>
  <div id="container">
    <input type="text" v-model="msg">
    <button @click="setData">傳遞到父組件</button>
  </div>
</template>
<script>
export default {
 data() {
  return {
   msg: "傳遞給父組件的值"
  };
 },
 methods: {
  setData() {
   this.$emit("getData", this.msg);
  }
 }
};
</script>
<style scoped>
#container {
 color: red;
 margin-top: 50px;
}
</style>

父組件代碼:

<template>
  <div id="container">
    <Child @getData="getData"></Child>
    <p>{{msg}}</p>
  </div>
</template>
<script>
import Child from "@/components/Child";
export default {
 data() {
  return {
   msg: "父組件默認(rèn)值"
  };
 },
 methods: {
  getData(data) {
   this.msg = data;
  }
 },
 components: {
  Child
 }
};
</script>
<style scoped>
</style>

子傳父的實(shí)現(xiàn)方式就是用了 this.$emit 來遍歷 getData 事件,首先用按鈕來觸發(fā) setData 事件,在 setData 中 用 this.$emit 來遍歷 getData 事件,最后返回 this.msg

總結(jié):

  • 子組件中需要以某種方式例如點(diǎn)擊事件的方法來觸發(fā)一個(gè)自定義事件
  • 將需要傳的值作為$emit的第二個(gè)參數(shù),該值將作為實(shí)參傳給響應(yīng)自定義事件的方法
  • 在父組件中注冊子組件并在子組件標(biāo)簽上綁定對自定義事件的監(jiān)聽

3、非父子

vue 中沒有直接子對子傳參的方法,建議將需要傳遞數(shù)據(jù)的子組件,都合并為一個(gè)組件

如果一定需要子對子傳參,可以先從傳到父組件,再傳到子組件(相當(dāng)于一個(gè)公共bus文件)

為了便于開發(fā),vue 推出了一個(gè)狀態(tài)管理工具 vuex,可以很方便實(shí)現(xiàn)組件之間的參數(shù)傳遞

希望本文所述對大家vue.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • vue2.0/3.0的響應(yīng)式原理及區(qū)別淺析

    vue2.0/3.0的響應(yīng)式原理及區(qū)別淺析

    這篇文章主要給大家介紹了關(guān)于vue2.0/3.0響應(yīng)式原理及區(qū)別的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • element-plus中el-upload組件限制上傳文件類型的方法

    element-plus中el-upload組件限制上傳文件類型的方法

    ?Element Plus 中,el-upload 組件可以通過設(shè)置 accept 屬性來限制上傳文件的格式,這篇文章主要介紹了element-plus中el-upload組件限制上傳文件類型,需要的朋友可以參考下
    2024-02-02
  • vue實(shí)現(xiàn)鼠標(biāo)經(jīng)過顯示懸浮框效果

    vue實(shí)現(xiàn)鼠標(biāo)經(jīng)過顯示懸浮框效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)鼠標(biāo)經(jīng)過顯示懸浮框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • element Dropdown組件意想不到的坑

    element Dropdown組件意想不到的坑

    本文主要介紹了element Dropdown組件意想不到的坑,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • vue router-view的嵌套顯示實(shí)現(xiàn)

    vue router-view的嵌套顯示實(shí)現(xiàn)

    本文主要介紹了vue router-view嵌套顯示,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Vue計(jì)算屬性的使用

    Vue計(jì)算屬性的使用

    本篇文章主要介紹了Vue計(jì)算屬性的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Vue父子組件傳值&自定義事件方式

    Vue父子組件傳值&自定義事件方式

    這篇文章主要介紹了Vue父子組件傳值&自定義事件方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 基于Vue3編寫一個(gè)簡單的播放器

    基于Vue3編寫一個(gè)簡單的播放器

    這篇文章主要為大家詳細(xì)介紹了如何基于Vue3編寫一個(gè)簡單的播放器,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Vue3有一定的幫助,需要的可以參考一下
    2023-03-03
  • Vue3 的響應(yīng)式和以前有什么區(qū)別,Proxy 無敵?

    Vue3 的響應(yīng)式和以前有什么區(qū)別,Proxy 無敵?

    這篇文章主要介紹了Vue3 的響應(yīng)式和以前有什么區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 詳解Vue中Axios封裝API接口的思路及方法

    詳解Vue中Axios封裝API接口的思路及方法

    這篇文章主要介紹了詳解Vue中Axios封裝API接口的思路及方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評論

永丰县| 长泰县| 龙岩市| 广河县| 霍林郭勒市| 克拉玛依市| 泸水县| 且末县| 瑞丽市| 内江市| 株洲市| 宜昌市| 宝山区| 乌苏市| 洛隆县| 华安县| 西乡县| 南澳县| 正蓝旗| 祁东县| 高碑店市| 嵩明县| 肇东市| 神木县| 昌图县| 东源县| 丽水市| 梧州市| 淮安市| 南康市| 册亨县| 萨迦县| 漳平市| 随州市| 呼图壁县| 富顺县| 会理县| 聂拉木县| 大港区| 泽库县| 定结县|