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方法)

回答:

@getAttrObj="getAttrObj($event, index)">

回答:

传多个参数时

@getAttrObj="func(arguments, index)"

...

methods: {
    func () {
        const [arg1, arg2 ...] = arguments[0]
        const index = arguments[1]
        ...
    }
}

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注