温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Vue3中怎么修改父组件传递到子组件中的值

发布时间:2023-04-15 13:55:04 来源:亿速云 阅读:137 作者:iii 栏目:开发技术

这篇文章主要介绍了Vue3中怎么修改父组件传递到子组件中的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3中怎么修改父组件传递到子组件中的值文章都会有所收获,下面我们一起来看看吧。

自定义组件上使用v-model

父组件:

//此处是父组件中引入的子组件
<ChildrenView  v-model:num="num"/>

//定义数据
let num=ref(10);//定义num为10,传递给子组件

子组件:

<script setup>
	//子组件接收父组件传递过来的数据
	let props=defineProps({
		num:number;
	});
	console.log(props.num)//接收过来的数据num=10

	//重点:开始修改子组件传递过来的num
	//1.引入我们的 **emit("自定义事件名",传递的数据)** 函数,用来触发自定义事件
	//2.使用emit()
	let emit=defineEmits(["update:num"]);//自定义的更新num事件
	//3.假设子组件里的有个按钮,执行的是这个changeNum事件
	let changeNum=()=>{
		emit("update:num",100);//触发自定义事件,将父组件的num修改为100
	}
	
</script>

注意:
1.大家肯定有疑惑,这个emit()不就是子传父的时候用的吗,那么父组件上不应该去绑定这个update:num吗?
如下:父组件:<ChildrenView v-model:num="num" @update:num="changeNum" >
是的,确实是子传父用的,但是你没必要再去绑定@update:num了。
why?
因为尤大大在自定义组件上使用v-model自己已经做过了处理,所以你只需要emit(“定义update:值”,数据)即可修改父组件的值了

关于“Vue3中怎么修改父组件传递到子组件中的值”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Vue3中怎么修改父组件传递到子组件中的值”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI