如何存储全球变量'在事件总线上

时间:2017-03-21 17:16:10

标签: javascript vue.js vuejs2

我正在学习vueJs,我需要在我的eventBus上存储一个计数器。 基本上我需要这种方法,因为我在多个兄弟组件中使用该计数器,我需要访问eventBus更改计数器和waneaver我想访问计数器,我无法找到与此相关的文档,基本上我需要的东西像这样:

import Vue from 'vue'
import App from './App.vue'

export const quoteBus = new Vue(
 data:function(){
  return {
     counter:0
   }
 }

);

new Vue({
  el: '#app',
  render: h => h(App)
})

我不知道这是否是为计数器设置初始值的正确方法,但我想像这样的东西,然后根据需要访问和更改计数器,我需要知道如何改变这个值并设置并获取eventBus上的counter属性,我正在使用webkit template-simple。

1 个答案:

答案 0 :(得分:0)

我怀疑你处于将系统变成意大利面条代码的边缘。您已经在使用事件总线,它是全局变量的表兄弟,现在您想要为其添加一个全局变量。

Vue应用程序的常规架构是“props down, events up”。既然你已经拥有了一个主Vue,你应该考虑是否真的需要使用事件总线,而不是更严格的常规方法。由于您正在学习Vue,因此您应该倾向于以规定的方式做事。

计数器应存在于顶级Vue中,并通过props传递给组件。组件应发出顶级Vue将执行的事件,对计数器进行适当的更改,Vue会将这些更改传播回组件。