我正在使用 VueJS 3 创建一个 Web 组件,我想在组件上公开一个方法,允许用户执行如下操作:
<custom-component id="x1" />
<script>
var component = document.getElementById("x1");
component.customMethod(); // as focus() method on native elements
</script>
Run Code Online (Sandbox Code Playgroud)
如果我在组件上定义了一个方法,我就可以在组件内部调用该方法。但当我将其用作 Web 组件时,该方法不可用。
//main.ts/js
import { defineCustomElement } from "vue"
import component from "./component.ce.vue"
const element = defineCustomElement(component );
customElements.define("custom-component ", element);
Run Code Online (Sandbox Code Playgroud)
//component.ce.vue
const customMethod = () => { console.log("Executed"); }
Run Code Online (Sandbox Code Playgroud)
我如何向 Vue 组件包装器指示 customMethod 将在组件外部可用?