vuejs的$emit如何在父组件中自己添加参数。

在子组件中(即ele-component组件):
this.$emit('getAttrObj', this.attrObj),
在父组件中:
<ele-component v-for="(component,index) in componentArray" @getAttrObj="getAttrObj"></ele- component>
methods: {

 getAttrObj (attrObj, index) {
   
 }

}
那么父组件中可以拿到this.attrObj这个参数,然而除此之外还需要那个index来作为方法的参数(在对象在数组中的序号),虽说可以先传给子组件,再让子组件传回来,不过感觉有点费劲。
请问是否能够直接在父组件中进行传值而不覆盖子组件传上来的this.attrObj呢?(就是在父组件中将index传入给getAttrObj方法)

阅读 11.4k
2 个回答
@getAttrObj="getAttrObj($event, index)">

传多个参数时

@getAttrObj="func(arguments, index)"

...

methods: {
    func () {
        const [arg1, arg2 ...] = arguments[0]
        const index = arguments[1]
        ...
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏