vue - 父子组件通信之$emit传多个参数

20190912,最近发现用这种方法在严格模式下打包会报错,请参考我的另一篇文章:

JS报错-Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on...

 

遇之,记之。

子组件传出单个参数时:

// 子组件
this.$emit('test',this.param)
// 父组件
@test='test($event,userDefined)'

子组件传出多个参数时:

// 子组件
this.$emit('test',this.param1,this.param2, this.param3)
// 父组件 arguments 是以数组的形式传入
@test='test(arguments,userDefined)'

需求:

父页面中用到子组件(日期组件),点击日期时,不仅要把点击日期传到父页面,还要把其索引(index)传出,父页面以作其他处理。

子组件:

vue - 父子组件通信之$emit传多个参数_第1张图片

vue - 父子组件通信之$emit传多个参数_第2张图片

父组件:

vue - 父子组件通信之$emit传多个参数_第3张图片

vue - 父子组件通信之$emit传多个参数_第4张图片

日期组件如下:(日&&月)

vue - 父子组件通信之$emit传多个参数_第5张图片

 

vue - 父子组件通信之$emit传多个参数_第6张图片

 

参考链接:vue $emit子组件传出多个参数,如何在父组件中在接收所有参数的同时添加自定义参数

https://github.com/vuejs/vue/issues/5735

你可能感兴趣的:(vue)