Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何覆盖vue.js中的全局变量?_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 如何覆盖vue.js中的全局变量?

Javascript 如何覆盖vue.js中的全局变量?,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,首先,听起来这种情况非常适合使用eventBus,但我只是在尝试。我觉得这将是发射和捕获事件的过程 假设我在main.js中声明: Vue.prototype.$someHeight = 200 在我的一些组件中,我尝试将其更改为: this.$someHeight = 300 但当我在vue中使用它时,它仍然会说: {{$someHeight}}//输出:200,我预期是300 那么,如何覆盖它呢?这是一种好做法吗?每个vue组件都是vue的实例。在Vue的原型上定义变量(如$someHe

首先,听起来这种情况非常适合使用
eventBus
,但我只是在尝试。我觉得这将是发射和捕获事件的过程

假设我在main.js中声明:

Vue.prototype.$someHeight = 200
在我的一些组件中,我尝试将其更改为:

this.$someHeight = 300
但当我在vue中使用它时,它仍然会说: {{$someHeight}}//输出:200,我预期是300


那么,如何覆盖它呢?这是一种好做法吗?

每个vue组件都是vue的实例。在Vue的原型上定义变量(如$someHeight)时,创建的所有新组件都将获得自己的该变量副本

这意味着每个Vue组件都将有其自己的$someHeight副本,其值为200。现在,即使将其值设置为300,所有其他组件的旧值也将为200

这不是一个好的做法。您应该只在prototype上定义函数:


现在,您可以为此使用Vuex,也可以创建一个全局vue实例并使用它存储全局变量。当然推荐Vuex

每个vue组件都是vue的实例。在Vue的原型上定义变量(如$someHeight)时,创建的所有新组件都将获得自己的该变量副本

这意味着每个Vue组件都将有其自己的$someHeight副本,其值为200。现在,即使将其值设置为300,所有其他组件的旧值也将为200

这不是一个好的做法。您应该只在prototype上定义函数:


现在,您可以为此使用Vuex,也可以创建一个全局vue实例并使用它存储全局变量。当然推荐Vuex

这是您通常在vuex商店中执行的操作。这是您通常在vuex商店中执行的操作。