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

vue3-setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)

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

vue3官方文檔?

  • defineProps?和?defineEmits?都是只能在?<script setup>?中使用的編譯器宏。他們不需要導(dǎo)入,且會(huì)隨著?<script setup>?的處理過程一同被編譯掉。

  • defineProps?接收與?props?選項(xiàng)相同的值,defineEmits?接收與?emits?選項(xiàng)相同的值。

?

父?jìng)髯? -?defineProps

?父組件

<template>
    <div class="Father">
        <p>我是父組件</p>
        <!--  -->
        <son :ftext="ftext"></son>
    </div>
</template>
    
<script setup>
import {ref} from 'vue'
import Son from './son.vue'
const ftext = ref('我是父組件-text')

    
</script>

子組件

<template>
    <div class="Son">
        <p>我是子組件</p>
       <!-- 展示來自父組件的值 -->
       <p>接收到的值:{{ftext}}</p>
    </div>
</template>
    
<script setup>
import {ref} from 'vue'
// setup 語法糖寫法

//defineProps 來接收組件的傳值
const props = defineProps({
    ftext: {
        type:String
    },
})

    
</script>

子傳父 - defineEmits

子組件:?

<template>
    <div class="Son">
        <p>我是子組件</p>
        <button @click="toValue">點(diǎn)擊給父組件傳值</button>
    </div>
</template>
    
<script setup>
import {ref} from 'vue'
// setup 語法糖寫法
//用defineEmits()來定義子組件要拋出的方法,語法defineEmits(['要拋出的方法'])
const emit = defineEmits(['exposeData'])

const stext = ref('我是子組件的值-ftext')
const toValue = ()=>{
    emit('exposeData',stext)
}
    
</script>

?父組件:

<template>
    <div class="Father">
        <p>我是父組件</p>
        <!--  -->
        <son @exposeData="getData" :ftext="ftext"></son>
    </div>
</template>
    
<script setup>
import {ref} from 'vue'
import Son from './son.vue'
const ftext = ref('我是父組件-text')
const getData = (val)=>{
    console.log("接收子組件的值",val)
}
</script>

defineExpose?

?官方解釋:

使用?<script setup>?的組件是默認(rèn)關(guān)閉的(即通過模板引用或者?$parent?鏈獲取到的組件的公開實(shí)例,不會(huì)暴露任何在?<script setup>?中聲明的綁定)。

可以通過?defineExpose?編譯器宏來顯式指定在?<script setup>?組件中要暴露出去的屬性

子組件:

<template>
    <div>
        <p>我是子組件</p>
    </div>
</template>
    
<script setup>
import { ref } from 'vue';

    const stext = ref('我是子組件的值')
    const sfunction = ()=>{
        console.log("我是子組件的方法")
    }
    defineExpose({
        stext,
        sfunction
    })
</script>

父組件:文章來源地址http://www.zghlxwxcb.cn/news/detail-401933.html

<template>
	<div class="todo-container">
		<p>我是父組件</p>
		<son ref="sonDom"></son>
		<button @click="getSonDom">點(diǎn)擊</button>
	</div>
</template>

<script setup>
import { ref ,nextTick} from 'vue';
	import son from './components/son.vue'
	const sonDom = ref(null) //注意這里的命名要和ref上面的命名一致
	const getSonDom = ()=>{
		console.log("sonDom",sonDom.value)
	}

	//直接打印sonDom的值是拿不到的,子組件節(jié)點(diǎn)還沒生成
	nextTick(()=>{
		console.log("sonDom",sonDom.value)
	})
	
	
</script>

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

本文來自互聯(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)文章

  • vue3在構(gòu)建時(shí),使用魔法糖語法時(shí)defineProps和defineEmits的注意事項(xiàng)

    在 Vue 3.2+ 版本中,可以使用 script setup 替代傳統(tǒng)的 script標(biāo)簽來編寫組件,它提供了更簡(jiǎn)潔的語法來編寫 Composition API 代碼。 在 script setup 中,使用 defineProps 和 defineEmits時(shí)需要注意: 如果顯式地導(dǎo)入defineProps時(shí),在編譯時(shí)會(huì)提示以下wanning 開發(fā)環(huán)境編譯時(shí)會(huì)提示 原因是在 scri

    2024年04月14日
    瀏覽(34)
  • vue3中父組件與組件之間參數(shù)傳遞,使用(defineProps/defineEmits),涉及屬性傳遞,對(duì)象傳遞,數(shù)組傳遞,以及事件傳遞

    傳遞屬性 父組件: 子組件: 傳遞對(duì)象或者數(shù)組 父組件: 子組件: 父組件: 子組件:

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

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

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

    2024年02月13日
    瀏覽(17)
  • 第九章、Vue3中<script setup>語法糖

    摘要:script setup語法糖: https://cn.vuejs.org/api/sfc-script-setup.html 一、script setup語法糖用法 1.1 基本語法: 要使用這個(gè)語法,在script 中添加setup屬性即可。 里面的代碼最終會(huì)編譯成setup()函數(shù)中的內(nèi)容: 所以每次在組件實(shí)例被創(chuàng)建時(shí),都會(huì)執(zhí)行; 1.2 頂層綁定自動(dòng)暴露給模板 當(dāng)使用

    2024年02月11日
    瀏覽(29)
  • Vue3通透教程【六】setup語法糖、computed函數(shù)、watch函數(shù)

    專欄介紹: 涼哥作為 Vue 的忠實(shí) 粉絲輸出過大量的 Vue 文章,應(yīng)粉絲要求開始更新 Vue3 的相關(guān)技術(shù)文章,Vue 框架目前的地位大家應(yīng)該都曉得,所謂三大框架使用人數(shù)最多,公司選型最多的框架,涼哥之前在文章中也提到過就是 Vue 框架之所以火起來的原因,和 Vue 框架相比其

    2024年01月20日
    瀏覽(23)
  • Vue3/ Vue3 計(jì)算屬性computed函數(shù) 語法 與 介紹 、Vue3 Vue2computed計(jì)算屬性 能不能傳參 怎么傳參

    語法: // 第一種語法get方法 (沒有set) const 函數(shù)名 = computed(() = { ? return? }) // 第二種語法 get set 方法?帶有set參數(shù) 可以設(shè)置 const 函數(shù)名 = computed(() = { get() { return 結(jié)果 }, set( val ){? } }) 觸發(fā)場(chǎng)景:? 如果要訪問計(jì)算屬性 會(huì)自動(dòng)執(zhí)行 get 如果要修改計(jì)算屬性 會(huì)自動(dòng)執(zhí)行 set 簡(jiǎn)介

    2024年02月02日
    瀏覽(28)
  • 最新 Vue3、TypeScript、組合式API、setup語法糖 學(xué)習(xí)筆記

    最新 Vue3、TypeScript、組合式API、setup語法糖 學(xué)習(xí)筆記

    備注:目前 vue-cli 已處于維護(hù)模式,官方推薦基于 Vite 創(chuàng)建項(xiàng)目。 vite 是新一代前端構(gòu)建工具,官網(wǎng)地址:https://vitejs.cn vite 的優(yōu)勢(shì)如下: 輕量快速的熱重載(HMR),能實(shí)現(xiàn)極速的服務(wù)啟動(dòng)。 對(duì) TypeScript 、 JSX 、 CSS 等支持開箱即用。 真正的按需編譯,不再等待整個(gè)應(yīng)用編譯

    2024年02月20日
    瀏覽(33)
  • vue3 組件傳參

    vue3 組件傳參

    原理: 通過第三個(gè)“東西”,一個(gè)往里寫,一個(gè)讀取。 方案:Mitt.js Mitt.js 安裝及使用方法 安裝 包的官網(wǎng): https://www.npmjs.com/package/mitt 封裝: 在項(xiàng)目src目錄下新建一個(gè) bus文件夾,里面再建一個(gè)bus.ts文件,用來存放咱們的EventBusa事件總線。在 bus.ts 文件中,封裝代碼。 簡(jiǎn)單: 復(fù)雜點(diǎn)

    2024年04月26日
    瀏覽(20)
  • 【vue3】vue3中父子組件傳參:

    【vue3】vue3中父子組件傳參:

    一、父?jìng)髯樱?【1】父組件傳值: 【2】子組件接收: 二、父調(diào)用子方法: 【1】父組件調(diào)用: 【2】子組件暴露: 三、子組件發(fā)送emit方法給父組件: 【1】父組件: 【2】子組件調(diào)用:

    2024年02月13日
    瀏覽(21)
  • vue3 script setup 語法糖用了才知道有多爽 (一)

    vue3 script setup 語法糖用了才知道有多爽 (一)

    這里是完整的目錄圖片,由于整篇文章篇幅太長,拆分成了幾篇來展示 vue3 使用的越來越廣泛, 公司項(xiàng)目開始使用 vue3 ,在 vue 3.2 之后新加入了 script setup 語法糖,上手開始看項(xiàng)目發(fā)現(xiàn)對(duì)于語法糖的使用有一些迷惑,特此整理,在整理這些內(nèi)容的同時(shí)查閱了大量的資料,自己在這個(gè)過程

    2024年02月16日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包