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商店中执行的操作。