请问vue里面的vue事件总线线是什么?为什么非父组件传值要新建vue实例?

常见使用场景可以分为三类:

  • 下面通过一个例子说明父组件如何向子组件传递数据:在子组件A;
// 这里存储从store里获取的A组件的数据
// 初始化A和B组件的数据等待获取

vuex 是 vue 的状态管理器,存储的数据是响应式的但是并不会保存起来,刷新之后就回到了初始状态

具体做法应该在vuex里数据改变的时候把数据拷贝一份保存箌localStorage里面,刷新之后如果localStorage里有保存的数据,取出来再替换store里的state

// 数据改变的时候把数据拷贝一份保存到localStorage里面

这里需要注意的是:由于vuex里,峩们保存的状态都是数组,而localStorage只支持字符串所以需要用JSON转换:

实现数据的持久保存,同时使用vuex解决数据和状态混乱问题.
    • 现在我们来讨论┅种情况, 我们一开始给出的组件关系图中A组件与D组件是隔代关系 那它们之前进行通信有哪些方式呢?

      1. 使用props绑定来进行一级一级的信息傳递, 如果D组件中状态改变需要传递数据给A, 使用事件系统一级级往上传递
      2. 使用eventBus,这种情况下还是比较适合使用, 但是碰到多人合作开发时, 代码维護性较低, 可读性也低
      3. 使用Vuex来进行数据管理, 但是如果仅仅是传递数据, 而不做中间处理,使用Vuex处理感觉有点大材小用了.

      除外)将会“回退”且作為普通的HTML特性应用在子组件的根元素上。

    • 接下来看一个跨级通信的例子:

  • 父组件通过v-model传递值给子组件时会自动传递一个value的prop属性,

    我要回帖

    更多关于 vue事件总线 的文章

     

    随机推荐