【发布时间】:2019-08-14 19:42:39
【问题描述】:
我在窗口对象中设置了一个属性以全局使用它,如下所示:
window.configs.foo=true;
但是当这样使用它时:
<v-btn v-if="window.configs.foo">go</v-btn>
在控制台中,我收到此错误:
[Vue 警告]:实例上未定义属性或方法“窗口” 但在渲染期间引用。确保该属性是 反应式,无论是在数据选项中,还是对于基于类的组件,通过 初始化属性。
如何在 vueJs 模板中使用 window 对象?
【问题讨论】:
-
你不应该在 vue 应用程序中使用全局窗口变量。这是因为 window var 可以被任何东西作为目标,甚至是不属于您的应用程序的 JS 代码。相反,您可以使用
environment variables(如果目标是拥有不同的配置设置),或者您可以使用VueX(如果目标是让各种数据全局可用) -
@Kokodoko,谢谢。我明白你说的。
-
@Kokodoko 当然你可以在 Vue 应用程序中使用窗口变量。你不应该做的是包含不属于你的应用程序的 JS 代码。为什么你要包含不属于你的应用程序的 JS 代码?
标签: javascript vue.js