组件中的emit

我们从页面向子组件传递参数时,我们可以使用props;我们从页面向子组件传递模板片段时,可以使用slots;当我们需要子组件传递参数给调用它的页面时,我们可以使用emit进行参数传递。

例如:

html 复制代码
<template>
	<view>
		<image :src="props.pic"></image>
		<view>{
  
  {props.goods_name}}</view>
		<view class="id_name">
			<slot name="s1"></slot>
		</view>
		<view> 
			<slot name="b1"></slot>
		</view>
		<!-- emit的用法 -->
		<button @click="onClick">emit</button>
	</view>
</template>

<script setup>
// const props = defineProps(['pic','goods_name'])

// emit演示
const emit = defineEmits(["add"])
// emit演示
function onClick(){
	emit('add',Math.random())
}

const props = defineProps({
	pic:{
		type:String,
		defaut:"../../static/logo.jpg"
	},
	goods_name:{
		type:String,
		defaut:"None"
	},
	obj_test:{
		type:Object,
		defaut(){
			return {pic:"../../static/logo.jpg",name:"None"}
		}
	}
})
</script>
html 复制代码
<template>
	<view>
		<!-- <blog_Props pic="../../static/ai.jpg" goods_name="Picture1">
			<view> id : 123456</view>
			</blog_Props>
		<blog_Props pic="../../static/ai.jpg" goods_name="Picture1">
			<view> <button>这是一个按钮</button></view>
			</blog_Props> -->
			<blog_Props @add="onAdd" pic="../../static/ai.jpg" goods_name="Picture1">
				<template v-slot="s1">
					<view> id : 123456</view>
				</template>
				<template #b1>
					<view> <button>这是一个按钮</button></view>
				</template>
			</blog_Props>
			<view>{
  
  {num}}</view>
	</view>
</template>

<script setup>
	import {ref} from 'vue'
	const num = ref(0)
	const onAdd = function(e){
		console.log(e)
		num.value = e
	}
</script>

在上述代码中,子组件中定义了一个传递参数的方法add,并配合一个onclick事件使用,我们在页面中调用子组件时,可以通过@add调用该方法,将该方法的返回值传到别的方法中,如:将返回值传到num中。当我们点击触发子组件中的onClick事件的时候,就会返回一个随机数,并通过onAdd方法将这个值赋给num,在页面上显示出来。

相关推荐
Lear18 小时前
UniApp PDF文件下载与预览功能完整实现指南
前端
Heo19 小时前
关于XSS和CSRF,面试官更喜欢这样的回答!
前端·javascript·面试
dchen7719 小时前
uniapp实现上拉刷新和下拉刷新的两种方式
uni-app
7***A44319 小时前
Vue自然语言处理应用
前端·vue.js·自然语言处理
徐小夕19 小时前
耗时一周,我把可视化+零代码+AI融入到了CRM系统,使用体验超酷!
javascript·vue.js·github
高阳言编程19 小时前
vue2 + node + express + MySQL 5.7 的购物系统
前端
5***a97519 小时前
React Native性能优化技巧
javascript·react native·react.js
y***548819 小时前
React依赖
前端·react.js·前端框架
2***B44919 小时前
React测试
前端·react.js·前端框架
A3608_(韦煜粮)20 小时前
深入理解React Hooks设计哲学与实现原理:从闭包陷阱到并发模式
javascript·性能优化·react·前端开发·react hooks·并发模式·自定义hooks