19.11.27数据传递

1.非父子之间的通信,是普通组件之间的通信。需要借助一个新的实例化vue对象bus.js

   bus.js中的代码

bus中的代码

在事件监听中,会出现第一次监听不到数据的情况,即bus.$on获取不到数据,这时,需要在bus.$emit外添加一个$nextTick()来解决。

示例:

bus.$emit触发


bus.$on监听

特别注意:

在bus中的this指向问题。因为bus中的this指向bus实例对象,所以在bus中想要给data中设置值的时候,需要保存一个vue的this为that,进而设置data中的值。

2.路由组件之间的通信用params,query,localStorage进行传数据。

示例:

编程式导航传参
接收参数

注意:编程式导航的参数传递:params只能和name进行搭配,path和query进行搭配,或者只有单一个path。

你可能感兴趣的:(19.11.27数据传递)