脑子瓦特了,想不出好办法……
bus.js:
import method from "./method"
const dataBus = ref({
status:{
show: false
},
method: {
// ...
xx: method.xx
}
})
export function useDataBus() {
return dataBus
}
method.js
function xx(){
console.log(dataBus.value.status.show)
}
export default {
xx
}
就这样的结构,如果把dataBus放在method里倒是能运行,但总感觉很怪,这个应该怎么拆分呢?
根据你的描述,我理解你method.js里面应该都是一些纯方法,你目前直接写了个变量dataBus肯定是有问题的。这种情况,这些方法里面应该用this比较适合。
你可以在函数xx里面,把dataBus.value替换成this。
那么如果换成了this,就要看你最终是如何调用这个方法的了。
如果你最终使用是这样类似的代码
那么你还需要将dataBus.methods里面的所有方法的this指向都修改一下
在bus.js里面加上一段