vue之$emit返回值

应用场景:子组件调用父组件的方法并获取到父组件方法的返回值

复制代码

// 父组件
getdata(){
 return data
}
// 子组件
let data = this.$emit("getdata", bounds)
return data

复制代码

这种写法是错误的,拿到的data是指向方法的this,无法获取到data

正确写法:

复制代码

// 父组件
getdata(bounds, callback){
 callback(data)
}
// 子组件
let data = {}
this.$emit("getdata", bounds, val => {
    data = val
})
return data

复制代码

在父组件方法里面写一个回调函数,然后通过回调将参数传给子组件......

Logo

前往低代码交流专区

更多推荐