首页 > 其他分享 >vue父组件接收子组件方法传递多个参数时追加参数

vue父组件接收子组件方法传递多个参数时追加参数

时间:2024-12-27 09:59:06浏览次数:5  
标签:vue const args addArg handleArgs 参数 组件 getArgs

VUE3

子组件

<template>
	<view class="">
		<view class="" @click="handleClick">1</view>
		<view class="" @click="handleClick2">2</view>
	</view>
</template>

<script setup>
const emit = defineEmits(['handleOneArg', 'handleArgs']);
const handleClick = () => {
	emit('handleOneArg', '1');
};

const handleClick2 = () => {
	emit('handleArgs', '1', '2');
};
</script>

传递单值与vue2一致。
传递多值可以参考如下写法:

父组件

<template>
	<view class="content">
		<test-component @handleOneArg="getOneArg($event, 'newArg')" @handleArgs="(...args) => getArgs(...args, 'newArgs')"></test-component>
	</view>
</template>

<script setup>
import TestComponent from './components/test-component.vue';
const getOneArg = (arg, addArg) => {
	console.log(arg, addArg);
};
const getArgs = (arg1, arg2, addArg) => {
	console.log(arg1, arg2, addArg);
};
</script>

此处因为我要直接获取所有字符串,所以使用@handleArgs="(...args) => getArgs(...args, 'newArgs')"的写法。
如果要跟vue2一样获取一个args数组,可以使用@handleArgs="(...args) => getArgs(args, 'newArgs')"的写法,不解构。

VUE2

子组件

<template>
	<view class="">
		<view class="" @click="handleClick">1</view>
		<view class="" @click="handleClick2">2</view>
	</view>
</template>

<script>
export default {
	methods: {
		handleClick() {
			// 传递单值
			this.$emit('handleOneArg', '1');
		},
		handleClick2() {
			// 传递多值
			this.$emit('handleArgs', '1', '2');
		}
	}
};
</script>

传递单值时,父组件可以使用$event代替子组件传入的值。
传递多值时,父组件可以通过arguments字段,该字段为子组件传入的值组成的数组。
具体示例如下:

父组件

<template>
	<view class="content">
		<test-component @handleOneArg="getOneArg($event, 'newArg')" @handleArgs="getArgs(arguments, 'newArgs')"></test-component>
	</view>
</template>

<script>
import TestComponent from './components/test-component.vue';
export default {
	components: {
		TestComponent
	},
	methods: {
		getOneArg(arg, addArg) {
			console.log(arg, addArg); // 1 newArg
		},
		getArgs(arg1, addArg) {
			console.log(arg1, addArg); // ['1','2'] 'newArgs'
		}
	}
};
</script>

转自:https://blog.csdn.net/weixin_43668101/article/details/137465010

标签:vue,const,args,addArg,handleArgs,参数,组件,getArgs
From: https://www.cnblogs.com/axingya/p/18634772

相关文章

  • vue3 setup函数内的防抖/节流节流不生效解决方式
    //debounce<template><!--生效--><el-inputv-model="value"@keyup="handelKeyUp"></el-input><!--不生效--><el-inputv-model="value"@keyup="debounce(handelKeyUp2,300)">......
  • 使用H5做一个可以多选的select组件
    HTML5原生<select>元素支持多选,你只需要在<select>标签中添加multiple属性即可。下面是一个简单的例子:<!DOCTYPEhtml><html><head><title>多选Select组件</title></head><body><form><labelfor="mySelec......
  • Vue 搭建开发环境
    一、下载js包二、引用js包<!--引用Vue包--><scripttype="text/javascript"src="../js/vue.js"></script>三、安装VueDevtools1、下载链接:链接:https://pan.baidu.com/s/1tKqpbZMRG1iC2PUgjsKOow提取码:55me2、Chrome浏览器安装点击右上角三个点->点击更......
  • 创建用于预测序列的人工智能模型,调整模型的超参数。
    上一篇:《创建用于预测序列的人工智能模型(四),评估模型的能力》序言:人工智能模型的研发过程实际上是一个多阶段的迭代过程,包括数据准备、模型架构设计、训练和验证,而超参数的调整和优化则始终贯穿其中,是提升模型性能的重要环节。调整学习率在前面的例子中,你可能还记得,我们使用了......
  • 基于SpringBoot+Vue公司员工在线餐饮管理系统的设计与实现
    博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联......
  • 基于SpringBoot+Vue小说阅读平台的设计与实现
    博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联......
  • Vue-跨域、计算属性、监听属性
    跨域同源策略:同源策略会引起跨域问题,是浏览器中的安全协议,主机、协议、端口只要有一个不一致,就会引起同源策略,从而引起跨域问题解决办法:1.放开后台(不安全)2.利用script标签中的src属性不受同源策略影响的特点,这种方式叫做JSONP(也需要跟后台配合)3.配置代理(在本地起一个服务,再去......
  • vue3入门教程:ref能否完全替代reactive?
    1.使用场景与数据类型ref:主要用于基本数据类型(如String、Number、Boolean等)。也可以用于对象/数组,但需要通过.value访问。适合单个响应式数据的管理。reactive:主要用于对象类型(如Object、Array)。直接访问属性,不需要.value。适合多个响应式数据的管理。2.访问方式......
  • 二维数组作函数参数的三种方式
    二维数组作函数参数的三种方式前言二维数组作函数参数的本质都是传递数组的首地址,但是具体的写法有3种,例子如下:voidwork1(int[][C])voidwork2(int(*)[C])voidwork3(int*)讲解第一种和第二种都可以自动计算索引,也就是可以使用下标[]去访问数组,而第三种不可以。第......
  • OpenAI库无缝对接国产大模型:全面解析各厂商API接口与参数配置指南
    随着OpenAI的API在某些地区被限制使用,国内AI开发者和企业开始积极寻找替代方案。国产大模型在此背景下迎来了重要发展机遇,多家科技公司纷纷推出自己的大模型,并提供API接口供开发者使用。使用OpenAI库连接国产大模型已经在多个领域得到了广泛应用,如智能客服、文本生成、图片生成......