我正在main.ts中创建一个自定义指令,如下所示
let handleOutsideClick: any;
app.directive("closable", {
mounted: (el, binding, vnode) => {
handleOutsideClick = (e: any) => {
e.stopPropagation();
const payload = binding.value;
console.log(`instance: ${Object.getOwnPropertyNames(binding.instance)}`);
};
document.addEventListener("click", handleOutsideClick);
},
unmounted: (el) => {
document.removeEventListener("click", handleOutsideClick);
},
});
字符串
在事件处理程序中,我想调用触发此指令的组件上的一个函数。
在Vue 2中,你可以使用vnode.context'myfunction'来实现,但这似乎不适用于binding.instance。
如何使用绑定示例调用函数?
1条答案
按热度按时间plicqrtu1#
传递要调用的函数作为绑定的值,然后调用它似乎可以工作:
字符串
工作示例:
的数据
备注:
.prod
,您将从Object.getOwnPropertyNames(binding.instance)
中获得更多数据。如果你的应用的业务逻辑依赖于vue内部的方法命名:
**a)*你 * 做错了™;
**B)**在生产环境中不起作用
如果你需要一个多文件节点的在线编辑器,请注意codesandbox.io允许使用CLI工具导入本地项目。