亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue3?setup語法糖下父組件如何調(diào)用子組件

 更新時間:2024年03月04日 11:11:49   作者:左直拳  
這篇文章主要介紹了vue3?setup語法糖下父組件如何調(diào)用子組件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue3 setup語法糖下父組件調(diào)用子組件

vue3下,父組件調(diào)用子組件的方法,如果使用了<script setup> 這種寫法,那么子組件方法需要采用defineExpose()進行修飾,才能被外界調(diào)用。

上代碼:

1、子組件

_pop.vue:

<template>
	。。。
</template>

<script setup>
	import { defineExpose } from "vue";
	
	const popIt = () => {
		。。。
	};
	defineExpose({ popIt });
</script>

2、父組件

<template>
	<pop pTitle="hehe" ref="pop1"></pop>
</template>

<script setup>
	import pop from "./_pop";

	const pop1 = ref();
	pop1.value.popIt();
</script>

vue3 父子組件相互調(diào)用

下面演示均為使用 setup 語法糖的情況!

參考網(wǎng)址:https://cn.vuejs.org/api/sfc-script-setup.html#defineexpose

父組件調(diào)用子組件方法

子組件需要使用defineExpose對外暴露方法,父組件才可以調(diào)用!

1.子組件

<template>
	<div>我是子組件</div>
</template>
 
<script lang="ts" setup>
	// 第一步:定義子組件的方法
	const hello = (str: string) => {
		console.log('子組件的hello方法執(zhí)行了--' + str)
	}
	// 第二部:暴露方法
	defineExpose({
		hello
	})
</script>

2.父組件

<template>
	<button @click="getChild">觸發(fā)子組件方法</button>
	<!-- 一:定義 ref -->
	<Child ref="childRef"></Child>
</template>
 
<script lang="ts" setup>
	import { ref } from 'vue';
	import Child from '../../components/child.vue';
 
	// 二:定義與 ref 同名變量
	const childRef = ref <any> ()
 
	// 三、函數(shù)
	const getChild = () => {
		// 調(diào)用子組件的方法或者變量,通過value
		childRef.value.hello("hello world!");
	}
</script>

3.測試結(jié)果

子組件調(diào)用父組件方法

1.父組件

<template>
	<Child @sayHello="handle"></Child>
</template>
 
<script lang="ts" setup>
	import Child from '../../components/child.vue';
 
	const handle = () => {
		console.log('子組件調(diào)用了父組件的方法')
	}
</script>

2.子組件

<template>
	<view>我是子組件</view>
	<button @click="say">調(diào)用父組件的方法</button>
</template>
 
<script lang="ts" setup>
	const emit = defineEmits(["sayHello"])
 
	const say = () => {
		emit('sayHello')
	}
</script>

3.測試結(jié)果

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue2+SpringBoot實現(xiàn)數(shù)據(jù)導出到csv文件并下載的使用示例

    Vue2+SpringBoot實現(xiàn)數(shù)據(jù)導出到csv文件并下載的使用示例

    本文主要介紹了Vue2+SpringBoot實現(xiàn)數(shù)據(jù)導出到csv文件并下載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-10-10
  • 淺析vue如何實現(xiàn)手機橫屏功能

    淺析vue如何實現(xiàn)手機橫屏功能

    在項目開發(fā)中有時候需求需要手動實現(xiàn)橫屏功能,所以這篇文章主要為大家詳細介紹了如何使用Vue實現(xiàn)手機橫屏功能,需要的小伙伴可以參考一下
    2024-03-03
  • 如何在在Vue3中使用markdown 編輯器組件

    如何在在Vue3中使用markdown 編輯器組件

    vue3發(fā)布正式版不久,生態(tài)還沒完全發(fā)展起來,目前支持vue3的開源markdown編輯器組件基本上也寥寥無幾,向大家推薦一個很好用的v-md-editor 組件,組件功能很強大,文檔也比較詳細。該文章只介紹組件的常用功能,更多高級的功能可以參考官方文檔。
    2021-05-05
  • vue項目中使用this.$confirm解析

    vue項目中使用this.$confirm解析

    這篇文章主要介紹了vue項目中使用this.$confirm方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解VUE Element-UI多級菜單動態(tài)渲染的組件

    詳解VUE Element-UI多級菜單動態(tài)渲染的組件

    這篇文章主要介紹了VUE Element-UI多級菜單動態(tài)渲染的組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Vue實現(xiàn)textarea固定輸入行數(shù)與添加下劃線樣式的思路詳解

    Vue實現(xiàn)textarea固定輸入行數(shù)與添加下劃線樣式的思路詳解

    這篇文章主要介紹了使用Vue實現(xiàn)textarea固定輸入行數(shù)與添加下劃線樣式的思路詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06
  • vue父組件向子組件傳遞多個數(shù)據(jù)的實例

    vue父組件向子組件傳遞多個數(shù)據(jù)的實例

    下面小編就為大家分享一篇vue父組件向子組件傳遞多個數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Element實現(xiàn)動態(tài)增加多個輸入框并校驗

    Element實現(xiàn)動態(tài)增加多個輸入框并校驗

    本文主要介紹了Element實現(xiàn)動態(tài)增加多個輸入框并校驗,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • VUE+Canvas 實現(xiàn)桌面彈球消磚塊小游戲的示例代碼

    VUE+Canvas 實現(xiàn)桌面彈球消磚塊小游戲的示例代碼

    這篇文章主要介紹了VUE+Canvas 實現(xiàn)桌面彈球消磚塊小游戲,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • web網(wǎng)頁上實現(xiàn)錄音功能(vue3組件示例)

    web網(wǎng)頁上實現(xiàn)錄音功能(vue3組件示例)

    在Vue項目或網(wǎng)頁上實現(xiàn)文字轉(zhuǎn)換成語音播放功能,通常涉及到語音合成技術(shù),這篇文章主要介紹了web網(wǎng)頁上實現(xiàn)錄音功能(vue3組件示例)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-06-06

最新評論