vue之$emit返回值(转)

原文地址:https://www.cnblogs.com/s313139232/p/13884831.html

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

复制代码
// 父组件
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
复制代码

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

原文地址:https://www.cnblogs.com/huanghongbo/p/15695221.html