【问题标题】:multiple Vue 2 Web Components on same page override global variable of each other同一页面上的多个 Vue 2 Web 组件覆盖彼此的全局变量
【发布时间】:2022-06-10 21:35:40
【问题描述】:

我有一个可以在一个页面上多次使用的 Vue 2 Web 组件(自定义元素)。

因为在 Vue 2 中,全局变量设置为 Vue.prototype.globalVar,两个 Web 组件相互覆盖了全局变量。

比如web组件最终是这样使用的:

<my-webcomponent config="yellow"></my-webcomponent>
<my-webcomponent config="blue"></my-webcomponent>

现在我将传递的配置保存在一个全局变量中(因为 web 组件包含很多 vue 组件,我不想通过所有 vue 组件传递它)

Vue.prototype.config = config

因为 Vue.prototype 对整个站点都是全局的,所以第二个 Web 组件会覆盖第一个的配置。所以最后两个 Web 组件都有 config="blue"

有没有人知道如何让变量只在当前 Web 组件实例中为全局变量?

【问题讨论】:

  • 不能使用道具吗?全局配置的目标是什么?如果不是全局设置和使用数据,那么我觉得 props 是要走的路。
  • 我会说这是一个 JavaScript 问题,而不是 Web 组件问题。

标签: vue.js vuejs2 web-component custom-element


猜你喜欢
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 2015-03-13
  • 1970-01-01
  • 2021-01-14
  • 2021-06-21
  • 1970-01-01
相关资源
最近更新 更多