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

vue3-setup語法糖 - 父子組件之間的傳值

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

近期學(xué)習(xí) vue3 的父子組件之間的傳值,發(fā)現(xiàn)跟vue2的并沒有太大的區(qū)別,然后發(fā)現(xiàn)網(wǎng)絡(luò)上很少基于setup語法糖的教程,我這邊總結(jié)一下,希望對大家有所幫助。

一、父組件向子組件傳值

父組件向子組件傳值的時候,子組件是通過props來接收的,然后以變量的形式將props傳遞到setup語法糖果中使用(defineEmits的到來?。?。如下圖所示:

1、父組件傳遞方式

<template>
  <div class="hello">
  我是父組件
  <!-- 父組件通過:變量(這里是info)綁定值 -->
   <Child :info="parentMsg"></Child>
  </div>
</template>

<script setup>
import Child from './Child'
import {ref} from 'vue'
const parentMsg=ref('父組件傳遞值是a')

</script>

<style scoped>

</style>

2、子組件接收方式和使用

<template>
<!-- info是父組件傳遞過了的值 -->
  <div>我是子組件拿到了父組件的值是{{info}}</div>
</template>

<script setup>
import { toRefs, defineProps } from 'vue'
const props = defineProps({
  //子組件接收父組件傳遞過來的值
  info: String,
})
//使用父組件傳遞過來的值
const {info} =toRefs(props)

</script>

<style>

</style>

?3、效果圖

vue3-setup語法糖 - 父子組件之間的傳值

?文章來源地址http://www.zghlxwxcb.cn/news/detail-513304.html

?二、子組件向父組件傳值

vue3中子組件向父組件傳遞值和vue2.x的區(qū)別是vue2.x使用的是 $emit 而vue3使用的是emit,它們的傳值一樣都是方法加值,即vue2.x的是this.$emit('方法名','傳遞的值(根據(jù)需要傳或者不傳)'),vue3的setup語法糖的是defineEmits。vue3的子傳父方式如下所示:?

1、子組件的傳遞方式

<template>
  <button @click="clickChild">點(diǎn)擊子組件</button>
</template>

<script setup>
import { defineEmits } from 'vue'
// 使用defineEmits創(chuàng)建名稱,接受一個數(shù)組
const emit = defineEmits(['clickChild'])
const clickChild=()=>{
  let param={
    content:'b'
  }
  //傳遞給父組件
  emit('clickChild',param)
}
</script>

<style>

</style>

2、父組件接收與使用

<template>
  <div class="hello">
  我是父組件
  <!-- clickChild是子組件綁定的事件,click是父組件接受方式 -->
   <Child  @clickChild="clickEven"></Child>
 <p>子組件傳遞的值是 {{result}}</p>
 </div>
</template>

<script setup>
import Child from './Child'
import {ref} from 'vue'
const result=ref('')
const clickEven=(val)=>{
  console.log(val);
  result.value=val.content
}
</script>

<style scoped>

</style>

?3、效果圖

vue3-setup語法糖 - 父子組件之間的傳值

?

三、父組件獲取子組件中的屬性值

當(dāng)時用語法糖時,需要將組建的屬性及方法通過defineExpose導(dǎo)出,父組件才能訪問到數(shù)據(jù),否則拿不到子組件的數(shù)據(jù)

1、子組件的傳遞方式

<template>
  <div>
        <h2> 我是子組件</h2>
        <p>性別:{{ sex}}</p>
    </div>
</template>

<script setup>
import { reactive, ref,defineExpose } from "vue";
let sex=ref('男')
let info=reactive({
    like:'王者榮耀',
    age:18
})
defineExpose({sex, info})
</script>

<style>

</style>

2、父組件顯示方式

<template>
  <div class="hello">
  我是父組件
   <Child ref="testcomRef"></Child>
<button @click="getSonHander">獲取子組件中的數(shù)據(jù)</button>
 </div>
</template>

<script setup>
import Child from './Child'
import {ref} from 'vue'
const testcomRef = ref()
const getSonHander=()=>{
  console.log('獲取子組件中的性別', testcomRef.value.sex );
    console.log('獲取子組件中的其他信息', testcomRef.value.info )
}
</script>

<style scoped>

</style>

3、效果圖

vue3-setup語法糖 - 父子組件之間的傳值

?

到了這里,關(guān)于vue3-setup語法糖 - 父子組件之間的傳值的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • vue3組合式api <script setup> props 父子組件的寫法

    父組件傳入子組個的變量, 子組件是無法直接修改的, 只能通過 emit的方式, 讓父組件修改, 之后子組件更新 父組件的寫法沒有變, 子組件的寫法就有很大的變化了

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

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

    2024年02月08日
    瀏覽(89)
  • vue3 組件間通信的方式(setup語法糖寫法)

    該方式用于父傳子,父組件以數(shù)據(jù)綁定的形式聲明要傳遞的數(shù)據(jù),子組件通過defineProps()方法創(chuàng)建props對象,即可拿到父組件傳來的數(shù)據(jù)。 2. emit方式 emit 方式也是Vue中最常見的組件通信方式,該方式用于 子傳父。 3、defineExpose 利用defineExpose+ref 可以得到組件里的方法和變量

    2024年02月12日
    瀏覽(21)
  • vue3自定義dialog createApp setup語法組件使用element

    vue3自定義dialog createApp setup語法組件使用element

    目錄 ?index.vue mapDialog.js

    2024年02月14日
    瀏覽(21)
  • vue3 setup語法糖 使用組件內(nèi)的路由守衛(wèi)beforeRouteEnter使用方法

    由于beforeRouteEnter在setup語法糖中是無法使用的,所以需要再起一個script標(biāo)簽 使用defineComponent方式來使用就可以了

    2024年02月11日
    瀏覽(24)
  • 史上最全的vue中組件之間的傳值方式

    重中之重的就是組件之間數(shù)據(jù)傳遞的幾種方式 Vue2最常見的11種組件間的通訊方式 props $emit / v-on .sync v-model ref(獲取子組件的屬性和調(diào)用子組件方法)本質(zhì)就是獲取到子組件的this $children / $parent(獲取子組件(不包括順孫組件)的數(shù)組 / 獲取父組件的this) $attrs / $listeners($

    2024年02月03日
    瀏覽(23)
  • VUE 父子組件、兄弟組件 之間通信 最強(qiáng)詳解

    VUE 父子組件、兄弟組件 之間通信 最強(qiáng)詳解

    目錄 1. 父組件 調(diào)用 子組件 內(nèi)參數(shù)/方法 1.1 通過 ref 調(diào)用/獲取 子組件內(nèi)參數(shù)/方法 2. 子組件 調(diào)用 父組件 內(nèi)參數(shù)/方法 2.1 通過?emit 調(diào)用 父組件方法 2.2 通過?props?調(diào)用 父組件方法/參數(shù) 2.3 通過 this.$parent 調(diào)用 父組件方法/參數(shù) 3. 兄弟組件 通信 3.1 通過?bus 進(jìn)行 兄弟組件 通信

    2024年02月05日
    瀏覽(95)
  • vue父子組件之間傳值的方法

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

    2024年02月09日
    瀏覽(94)
  • Web前端 ---- 【Vue】(組件)父子組件之間的通信一文帶你了解

    Web前端 ---- 【Vue】(組件)父子組件之間的通信一文帶你了解

    目錄 前言 父組件傳子組件 ---- props 給要傳遞數(shù)據(jù)的子組件綁定要傳過去的屬性及屬性值 在子組件中使用props配置項接收 props配置項 子組件傳父組件 ---- 組件的自定義事件 子組件向父組件傳遞數(shù)據(jù) 通過代碼來綁定自定義事件 本文將介紹在Vue中父子組件如何進(jìn)行通信 這里先介

    2024年02月05日
    瀏覽(631)
  • 【vue3】基礎(chǔ)知識點(diǎn)-setup語法糖

    【vue3】基礎(chǔ)知識點(diǎn)-setup語法糖

    學(xué)習(xí)vue3,都會從基礎(chǔ)知識點(diǎn)學(xué)起。了解setup函數(shù),ref,recative,watch、comptued、pinia等如何使用 今天說vue3組合式api,setup函數(shù) 在學(xué)習(xí)過程中一開始接觸到的是這樣的,定義數(shù)據(jù)且都要通過return返回 最新接觸到的是這樣的 兩種不同的寫法,那區(qū)別是什么呢? 其實在script標(biāo)簽上直

    2024年02月13日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包