小编Dav*_* SK的帖子

使用 Vue3 公开创建 Web 组件的方法

我正在使用 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 将在组件外部可用?

javascript web-component vue.js vuejs3

5
推荐指数
1
解决办法
3438
查看次数

标签 统计

javascript ×1

vue.js ×1

vuejs3 ×1

web-component ×1