国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了vue2和vue3 子組件父組件之間的傳值方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

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

在組件化開(kāi)發(fā)的過(guò)程中難免會(huì)遇見(jiàn) 子組件和父組件之間的通訊那么這里講關(guān)于vue2和vue3不同的通訊方式

先看一下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組件之間的通訊感謝大家的閱讀
如碰到其他的問(wèn)題 可以私下我 一起探討學(xué)習(xí)
如果對(duì)你有所幫助還請(qǐng) 點(diǎn)贊 收藏謝謝~!
關(guān)注收藏博客 作者會(huì)持續(xù)更新…文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-485148.html

到了這里,關(guān)于vue2和vue3 子組件父組件之間的傳值方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • react自定義組件間的傳值,if..else..判斷,for循環(huán)(嵌套map使用),點(diǎn)擊事件(Onclick),頁(yè)面上事件實(shí)事傳遞參數(shù)(基礎(chǔ)版)

    9.自定義組件間的傳值 10.if..else..判斷 11.for循環(huán)(嵌套map使用) 12.點(diǎn)擊事件(Onclick) 13.頁(yè)面上事件實(shí)事傳遞參數(shù) 14.關(guān)于export default function App()與export function App()的區(qū)別 ? ?export default不需要{} ? ? ?import ?Gallery from \\\'./Gallery.js\\\'; ? ?export function需要{} ? ? ? import {Gallery} from \\\'./Galler

    2024年01月17日
    瀏覽(29)
  • vue父子組件之間傳值的方法

    父?jìng)髯?方式: props 效果: 把父組件的 fatherName 屬性傳入子組件,在子組件中使用 父組件代碼: 子組件代碼: 子傳父 方式: $emit 效果: 在子組件觸發(fā)事件,修改父組件的fatherName屬性 父組件代碼: 子組件代碼: 兄弟傳值 方式: eventBus.js 效果: 任意組件之間相互傳值 代

    2024年02月09日
    瀏覽(94)
  • vue2中幾種組件傳值方法

    父組件在子組件標(biāo)簽中傳入fatherMess,在子組件使用$emit,約定子傳父事件名,將子組件的數(shù)據(jù)傳遞到父組件.通過(guò)按鈕修改,可以發(fā)現(xiàn),這里的傳值是響應(yīng)式的 步驟 : ? 1.在父組件中給子組件標(biāo)簽添加屬性 ? 2.在子組件中使用props接受數(shù)據(jù) ? 3.子組件中使用數(shù)據(jù),可以直接訪問(wèn) 父組件

    2024年02月22日
    瀏覽(22)
  • vue父子組件之間雙向數(shù)據(jù)綁定的(vue2/vue3)

    vue父子組件之間雙向數(shù)據(jù)綁定的四種方法(vue2/vue3) vue考慮到組件的可維護(hù)性,是不允許子組件改變父組件傳的props值的。父組件通過(guò)綁定屬性的方式向子組件傳值,而在子組件中可以通過(guò)$emit向父組件通信(第一種方式),通過(guò)這種間接的方式改變父組件的data,從而實(shí)現(xiàn)子組

    2024年02月08日
    瀏覽(89)
  • vue3組件傳值方法

    提示:vue組件傳值學(xué)習(xí)用vue3語(yǔ)法 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 1.在父組件中引入子組件并通過(guò) components 注冊(cè) 父組件內(nèi)容示例: html 內(nèi)容 js 內(nèi)容 import child from \\\"../components/Child/Child\\\"; 子組件內(nèi)容示例 html 內(nèi)容 js 內(nèi)容 props: { msg: { type: String, default: \\\"\\\", }, },

    2024年02月07日
    瀏覽(27)
  • vue組件之間的五種傳值方法(父子\兄弟\跨組件)

    父?jìng)髯?(自定義屬性 props) 父組件向子組件傳參,通過(guò)自定義屬性的方式進(jìn)行傳參,在子組件中使用prop定義自定義的屬性,然后在父組件中通過(guò)v-bind指令把需要傳遞的數(shù)據(jù)綁定在子組件上,那在子組件中props里面的自定義屬性可以直接使用。 子傳父 (自定義事件 this.$emit) 子組

    2023年04月08日
    瀏覽(40)
  • Vue3中子組件向父組件傳值的方法

    父組件可以通過(guò)props向子組件傳值, 子組件可以用過(guò) emits(‘update:prop’, propValue) 修改父組件綁定在此Prop上父組件的值 本文演示了一個(gè)可以緩存分頁(yè)大小(每頁(yè)顯示幾行數(shù)據(jù))的分頁(yè)組件的使用, 它是對(duì)el-pagination做了一個(gè)簡(jiǎn)單的封裝 如下是一個(gè)分頁(yè)組件 核心: 在換頁(yè)時(shí)通過(guò) emit

    2024年02月16日
    瀏覽(25)
  • vue父子組件之間的傳參的幾種方式

    這是最常用的一種方式。通過(guò)props選項(xiàng),在父組件中傳遞數(shù)據(jù)給子組件。在子組件中使用props聲明該屬性,就可以訪問(wèn)到父組件傳遞過(guò)來(lái)的數(shù)據(jù)了。 子組件向父組件傳遞數(shù)據(jù)的方式。在子組件中使用emit方法觸發(fā)一個(gè)自定義事件,并通過(guò)參數(shù)傳遞數(shù)據(jù)。在父組件中監(jiān)聽(tīng)這個(gè)事件

    2023年04月24日
    瀏覽(101)
  • Vue組件之間傳值

    Vue組件之間傳值

    首先總結(jié)一下vue里面?zhèn)髦档膸追N關(guān)系: 如上圖所示, A與B、A與C、B與D、C與F組件之間是父子關(guān)系; B與C之間是兄弟關(guān)系;A與D、A與E之間是隔代關(guān)系; D與F是堂兄關(guān)系,針對(duì)以上關(guān)系 我們把組件之間傳值歸類為: 1.父子組件之間的通訊 2.非父子組件之間的通訊(兄弟組件 隔代

    2024年02月09日
    瀏覽(20)
  • Vue 組件之間傳值

    一、Vue 組件之間傳值的主要方法 Vue 3 對(duì)于組件之間傳遞值的基本思想與 Vue 2 相似,但是有一些語(yǔ)法和 API 上的改變,主要的傳值方法有以下幾種: 1、父組件向子組件傳值,使用 props:可以通過(guò)在子組件上綁定 props,然后在父組件中通過(guò) v-bind 綁定相應(yīng)的數(shù)據(jù)來(lái)傳遞數(shù)據(jù)。

    2024年02月02日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包