我知道我可以从setup
方法调用emit
方法,但是有没有方法可以从任何其他函数发出事件,而不从setup方法传递emit
方法(不是methods
选项中的函数,而是useXXX
函数)?
我知道我可以从setup
方法调用emit
方法,但是有没有方法可以从任何其他函数发出事件,而不从setup方法传递emit
方法(不是methods
选项中的函数,而是useXXX
函数)?
你可以使用Vue的getCurrentInstance
.你可以在the docs分钟内查看.
用法就像
function useFunctionThatEmitsSomething(){
const instance = getCurrentInstance();
// do something
instance.emit('event');
}
尽管这个插件库可以解决Edit个 case 的问题,但这个插件库还是可以解决Edit个 case 的问题.对于常见的用例,比如构建一个简单的SPA,使用它是TOTALLY DISCOURAGED,应该不惜一切代价避免,因为它可能会导致不可读和不可维护的代码.如果你觉得有必要在这样的情况下使用它,你可能做错了什么.