欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

先看一下vue2

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

父組件通過 :語法 其實就是v-bind 來傳遞參數(shù)
子組件通過 props來獲取父組件傳遞的方法

億點小知識:子組件接收到數(shù)據(jù)之后,不能直接修改父組件的數(shù)據(jù)。會報錯

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

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

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

vue2.0里面父組件調(diào)用子組件的方法是通過$refs實現(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)  //通過$refs找到子組件,并找到方法執(zhí)行
        }
    }
}

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

vue3

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

  • 父組件
<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() // 通過ref獲取 子組件的實例
    let fun = () =>{
    	childrenRef.value.fatherFun()// 使用子組件的方法
    }
    let methodChildren = (val) => {
      msg.value = val // 這里val獲取子組件傳遞的值
    }
    return {
      msg,
      methodChildren,
    }
  },
})
</script>
  • 子組件
<template>
  <!-- 點擊調(diào)用父組件的方法 -->
  <button @click="fatherMethod">點擊</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組件傳值的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue項目強制清除頁面緩存的例子

    vue項目強制清除頁面緩存的例子

    今天小編就為大家分享一篇vue項目強制清除頁面緩存的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue bus全局事件中心簡單Demo詳解

    vue bus全局事件中心簡單Demo詳解

    ue-bus 提供了一個全局事件中心,并將其注入每一個組件,你可以像使用內(nèi)置事件流一樣方便的使用全局事件。這篇文章給大家介紹了vue bus全局事件中心簡單Demo,需要的朋友參考下吧
    2018-02-02
  • vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示

    vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示

    這篇文章主要為大家詳細(xì)介紹了vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • vue-cli3中配置alias和打包加hash值操作

    vue-cli3中配置alias和打包加hash值操作

    這篇文章主要介紹了vue-cli3中配置alias和打包加hash值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • vuex + keep-alive實現(xiàn)tab標(biāo)簽頁面緩存功能

    vuex + keep-alive實現(xiàn)tab標(biāo)簽頁面緩存功能

    這篇文章主要介紹了vuex + keep-alive實現(xiàn)tab標(biāo)簽頁面緩存功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Vuex中的getter和mutation的區(qū)別詳解

    Vuex中的getter和mutation的區(qū)別詳解

    在現(xiàn)代前端開發(fā)中,狀態(tài)管理是一個不可忽視的話題,而Vuex作為Vue.js的官方狀態(tài)管理庫,在大型應(yīng)用中扮演著至關(guān)重要的角色,當(dāng)我們使用Vuex進行狀態(tài)管理時,getter和mutation是兩個重要的概念,在本文中,我們將詳細(xì)探討getter和mutation的區(qū)別,需要的朋友可以參考下
    2024-12-12
  • 通過源碼分析Vue的雙向數(shù)據(jù)綁定詳解

    通過源碼分析Vue的雙向數(shù)據(jù)綁定詳解

    使用vue也好有一段時間了,雖然對其雙向綁定原理也有了解個大概,但也沒好好探究下其原理實現(xiàn),下面這篇文章通過源碼主要分析了Vue的雙向數(shù)據(jù)綁定,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • Vue項目如何部署到Tomcat服務(wù)器上

    Vue項目如何部署到Tomcat服務(wù)器上

    這篇文章主要介紹了Vue項目如何部署到Tomcat服務(wù)器上,Vue中自帶webpack,可以通過一行命令將項目打包,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • 詳解Vue文檔中幾個易忽視部分的剖析

    詳解Vue文檔中幾個易忽視部分的剖析

    針對Vue文檔中部分大家可能不會去研讀的內(nèi)容,這篇文章主要介紹了詳解Vue文檔中幾個易忽視部分的剖析,非常具有實用價值,需要的朋友可以參考下
    2018-03-03
  • vue.js利用Object.defineProperty實現(xiàn)雙向綁定

    vue.js利用Object.defineProperty實現(xiàn)雙向綁定

    這篇文章主要為大家詳細(xì)介紹了vue.js利用Object.defineProperty實現(xiàn)雙向綁定,幫大家解析神秘的Object.defineProperty方法
    2017-03-03

最新評論