子组件向父组件使用$emit 传递多个参数

  • Post author:
  • Post category:其他




子组件使用自定义组件向父组件传值时,一般会传递一个参数,但是传递多个参数怎么办呢?


1.1 传递一个参数

子组件:
submit(){
	this.$emit('submit',this.id)
}
父组件:
<foods-list-edit  :foodsList="foodsList" @submit="handelFoods"></foods-list-edit>
父组件的方法中接收参数:
handelFoods(e) {
	console.log(e)
}


1.2 传递多个参数,在触发事件的父组件中加入arguments参数列表

子组件:
submit(){
	this.$emit('submit',JSON.stringify(this.foodsList),this.id)
}
父组件:
<foods-list-edit  :foodsList="foodsList" @submit="handelFoods(arguments)"></foods-list-edit>
父组件的方法中接收参数:
handelFoods(e) {
	// e[0]:第一个参数    e[1]  第二个参数
	console.log(e[0],e[1])
}

补充:

最近写的时候发现可以再父组件中接收的时候不接收参数 ,在方法中直接写参数,,传递了几个写几个,,一一对应

父组件:
<foods-list-edit  :foodsList="foodsList" @submit="handelFoods"></foods-list-edit>
handelFoods(e1,e2) {
	// e1:第一个参数    e2 第二个参数
	console.log(e1,e2)
}



版权声明:本文为weixin_42150719原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。