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

vue2和vue3子組件父組件之間的傳值方法

 更新時(shí)間:2023年05月29日 10:58:28   作者:下一站丶  
在組件化開(kāi)發(fā)的過(guò)程中難免會(huì)遇見(jiàn)子組件和父組件之間的通訊那么這里講關(guān)于vue2和vue3不同的通訊方式,文中有詳細(xì)的代碼示例供大家參考,感興趣的同學(xué)可以閱讀下

先看一下vue2

  • 父組件向子組件傳遞參數(shù)

父組件通過(guò) :語(yǔ)法 其實(shí)就是v-bind 來(lái)傳遞參數(shù)
子組件通過(guò) props來(lái)獲取父組件傳遞的方法

億點(diǎn)小知識(shí):子組件接收到數(shù)據(jù)之后,不能直接修改父組件的數(shù)據(jù)。會(huì)報(bào)錯(cuò)

// 父組件 parent 像子組件傳遞 msg 值
<template>
    <Children :datum="'我是父組件的數(shù)據(jù)'"></Children>
</template>
?----------------------------------------------------------------------------------
// 子組件 接收 父組件 傳遞的數(shù)據(jù)
export default {
  // 寫(xiě)法一 用數(shù)組接收
  props:['datum'],
  // 寫(xiě)法二 用對(duì)象接收,可以限定接收的數(shù)據(jù)類型、設(shè)置默認(rèn)值、驗(yàn)證等
  props:{
      datum:{
          type:String,
          default:'這是默認(rèn)數(shù)據(jù)'
      }
  },
  mounted(){
      console.log(this.datum)// 我是父組件的數(shù)據(jù)
  },
}
  • 子組件向父組件傳遞參數(shù) (這里同時(shí)講了父組件向子組件傳遞方法)

父組件通過(guò) @語(yǔ)法 其實(shí)就是v-on 來(lái)傳遞方法
子組件通過(guò) $emit來(lái)獲取父組件傳遞的方法 同時(shí)向父組件傳遞數(shù)據(jù)

<template>
    <Children @method="method"></Children>
</template>
<script>
  import Children from './Children';
  export default {
    components: {
      Children
    },
    methods: {
      method(data) { // 這里的 data 就是子組件傳遞的參數(shù) 如果參數(shù)擁有多個(gè)可以使用 ...語(yǔ)法獲取參數(shù)
        console.log(data);// 子組件傳遞的參數(shù)
      }
    }
  };
</script>
?----------------------------------------------------------------------------------
// 子組件 傳遞給 父組件數(shù)據(jù)
export default {
   methods: {
      childMethod() { // 子組件通過(guò) $emit 獲取父組件傳遞的方法,然后攜帶數(shù)據(jù)傳給父組件
        this.$emit('method',"我是子組件");
      }
    }
}
  • 父組件使用子組件的方法

vue2.0里面父組件調(diào)用子組件的方法是通過(guò)$refs實(shí)現(xiàn)的

//父組件
<template>
    <Children ref="child"></Children>
</template>
export default{
    import Children from './Children'
    export default{
        components:{
            Children 
        },
        mounted:{
            //調(diào)用子組件方法  這里要注意區(qū)分 child 是ref的名字
           this.$refs.child.getData(val)  //通過(guò)$refs找到子組件,并找到方法執(zhí)行
        }
    }
}

以上就是 vue2 子組件父組件之間的通訊

vue3

相信能看懂 vue2的小伙伴 應(yīng)該理解之間的通訊 這里我就直接在父組件和子組件進(jìn)行通訊

  • 父組件
<template>
  <Children :title="我是父組件"  ref="childrenRef" @method="methodChildren"></Children >
</template>
<script lang="ts">
import Children from "./Children.vue"
import { defineComponent, ref } from "vue"
export default defineComponent({
  components: {
    Children ,
  },
  setup() {
    let msg = ref("")
    let childrenRef = ref() // 通過(guò)ref獲取 子組件的實(shí)例
    let fun = () =>{
    	childrenRef.value.fatherFun()// 使用子組件的方法
    }
    let methodChildren = (val) => {
      msg.value = val // 這里val獲取子組件傳遞的值
    }
    return {
      msg,
      methodChildren,
    }
  },
})
</script>
  • 子組件
<template>
  <!-- 點(diǎn)擊調(diào)用父組件的方法 -->
  <button @click="fatherMethod">點(diǎn)擊</button>
</template>
<script lang="ts">
import { defineComponent } from "vue"
export default defineComponent({
  name: "Children",
  props: {
    title: {
      type: String,
    },
  },
  setup(props, {emit}) {
    const fatherMethod= () => {
      emit("method", "傳值給父組件")
    }
    const fatherFun= () => {
      console.log("我是子組件的方法")
    }
    return {
      fatherMethod,
    }
  },
})
</script>

以上就是vue2和vue3子組件父組件之間的傳值方法的詳細(xì)內(nèi)容,更多關(guān)于vue2和vue3組件傳值的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼

    mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼

    這篇文章主要介紹了mpvue中使用flyjs全局?jǐn)r截的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 基于vue實(shí)現(xiàn)swipe輪播組件實(shí)例代碼

    基于vue實(shí)現(xiàn)swipe輪播組件實(shí)例代碼

    本篇文章主要介紹了基于vue實(shí)現(xiàn)swipe輪播組件實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • npm?ERR!?code?E404在vscode安裝插件時(shí)報(bào)錯(cuò)的兩種解決方案

    npm?ERR!?code?E404在vscode安裝插件時(shí)報(bào)錯(cuò)的兩種解決方案

    這篇文章主要給大家介紹了關(guān)于npm?ERR!?code?E404在vscode安裝插件時(shí)報(bào)錯(cuò)的兩種解決方案,關(guān)于這個(gè)問(wèn)題,通常是由于插件名稱輸入錯(cuò)誤、網(wǎng)絡(luò)問(wèn)題或插件已被刪除引起的,文中將兩種解決方法都介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Vue3圖片上傳報(bào)錯(cuò):Required?part?‘file‘?is?not?present.的原因及解決方法

    Vue3圖片上傳報(bào)錯(cuò):Required?part?‘file‘?is?not?present.的原因及解決方法

    這篇文章主要介紹了Vue3圖片上傳報(bào)錯(cuò):Required?part?‘file‘?is?not?present.的原因及解決方法,文中通過(guò)代碼示例講解的非常詳細(xì),對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • vue項(xiàng)目中axios的封裝請(qǐng)求

    vue項(xiàng)目中axios的封裝請(qǐng)求

    這篇文章主要介紹了vue項(xiàng)目中axios的封裝請(qǐng)求,axios?是一個(gè)輕量的HTTP客戶端,它基于?XMLHttpRequest?服務(wù)來(lái)執(zhí)行?HTTP?請(qǐng)求,支持豐富的配置,下文更多詳細(xì)資料,需要的朋友可以參考一下
    2022-03-03
  • vue3+ts封裝axios實(shí)例以及解決跨域問(wèn)題

    vue3+ts封裝axios實(shí)例以及解決跨域問(wèn)題

    在前端開(kāi)發(fā)中,使用axios進(jìn)行數(shù)據(jù)請(qǐng)求是常見(jiàn)的做法,封裝axios可以統(tǒng)一請(qǐng)求頭處理、方便接口管理、配置多攔截器等,提高代碼的可維護(hù)性和重用性,本文詳細(xì)記錄了axios的封裝過(guò)程,包括安裝、配置跨域處理、接口管理文件的創(chuàng)建等
    2024-09-09
  • vue3-組合式api-provide/inject詳解

    vue3-組合式api-provide/inject詳解

    provide/inject 適用于跨級(jí)通信,在孫組件中通過(guò)依賴注入的方式能獲取到父組件中改變的這個(gè)值,下面通過(guò)實(shí)例代碼介紹vue3-組合式api-provide/inject的相關(guān)知識(shí),需要的朋友可以參考下
    2022-11-11
  • vue2與vue3中生命周期執(zhí)行順序的區(qū)別說(shuō)明

    vue2與vue3中生命周期執(zhí)行順序的區(qū)別說(shuō)明

    這篇文章主要介紹了vue2與vue3中生命周期執(zhí)行順序的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue中動(dòng)態(tài)引入圖片要是require的原因解析

    Vue中動(dòng)態(tài)引入圖片要是require的原因解析

    require是一個(gè)node方法,用于引入模塊,JSON或本地文件,這篇文章主要介紹了vue中動(dòng)態(tài)引入圖片為什么要是require,需要的朋友可以參考下
    2022-10-10
  • 解決Vue打包后訪問(wèn)圖片/圖標(biāo)不顯示的問(wèn)題

    解決Vue打包后訪問(wèn)圖片/圖標(biāo)不顯示的問(wèn)題

    這篇文章主要介紹了 解決Vue打包后訪問(wèn)圖片/圖標(biāo)不顯示的問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考解決價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

平果县| 深泽县| 宝坻区| 洛扎县| 富源县| 博兴县| 奇台县| 阆中市| 迭部县| 呼图壁县| 阿克苏市| 仙居县| 温州市| 德昌县| 宜州市| 大港区| 盈江县| 福州市| 广灵县| 随州市| 乳山市| 名山县| 汉源县| 平谷区| 贵州省| 肥西县| 革吉县| 通许县| 温州市| 桦南县| 阿克陶县| 大安市| 德化县| 清水县| 张掖市| 南投市| 高阳县| 金阳县| 斗六市| 木兰县| 习水县|