Vue.js 如何在vue3中的'setup'方法中发出'emit'事件?
我知道我可以从Vue.js 如何在vue3中的'setup'方法中发出'emit'事件?,vue.js,vuejs3,Vue.js,Vuejs3,我知道我可以从setup方法调用emit方法,但是有没有办法从任何其他函数发出事件,而不从setup方法传递emit方法(不是methods选项中的函数,而是useXXX函数)?您可以使用Vue中的getCurrentInstance。你可以在网上查到 用法就像 函数使用发出方法()的函数{ const instance=getCurrentInstance(); //做点什么 emit('event'); } 以下是在vue3中以编程方式(使用javascript)发出事件的正确方法: 导出默
setup
方法调用emit
方法,但是有没有办法从任何其他函数发出事件,而不从setup方法传递emit
方法(不是methods
选项中的函数,而是useXXX
函数)?您可以使用Vue中的getCurrentInstance
。你可以在网上查到
用法就像
函数使用发出方法()的函数{
const instance=getCurrentInstance();
//做点什么
emit('event');
}
以下是在vue3中以编程方式(使用javascript)发出事件的正确方法:
导出默认定义组件({
//见:https://v3.vuejs.org/guide/migration/emits-option.html#overview
发出:“specialClick”,//设置
函数接受两个参数,第一个参数是道具
。
第二个是context
,它公开了三个组件属性,attrs
,slots
和emit
您可以从上下文访问emit,如:
导出默认值{
设置(道具、上下文){
emit('event');
},
};
或
导出默认值{
设置(道具,{emit}){
发出(“事件”);
},
};
为什么需要声明排放:“specialClick”?