首页 > 解决方案 > 如何从 vue 中的 shadow dom 访问文档/窗口?

问题描述

我正在使用一个库 ( vue-airbnb-style-datepicker),它试图访问document对象以附加一些事件侦听器。将 vue 应用程序包装为 Web 组件会导致以下错误:

Cannot read property 'addEventListener' of null

我的main.js

import Vue from "vue";
import App from "./App.vue";
import wrap from "@vue/web-component-wrapper";
import AirbnbStyleDatepicker from "vue-airbnb-style-datepicker";

Vue.use(AirbnbStyleDatepicker, {});
Vue.config.productionTip = false;

const WrappedElement = wrap(Vue, App);

window.customElements.define("gpc-components", WrappedElement);

如何document在 Web 组件中使用该对象?

甚至可能吗?

如果没有,是否存在解决方法?

标签: vue.jsvuejs2web-componentshadow-dom

解决方案


推荐阅读