VUE随笔-生活工作点滴

vue2.0父子组件以及非父子组件通信

2019-07-10  本文已影响12人  中意8

一、父子组件通信

1、父组件传递数据给子组件,使用props属性来实现

传递普通字符串

父组件:

子组件:

结果:  hello!

动态:父组件数据如何传递给子组件

父组件:

子组件:通过props属性接收数据

props属性验证有以下形式:

2、子组件与父组件通信

vue是单向数据传递的,如果子组件直接改变父组件传过来的数据是不允许的。但是可以通过触发事件通知父组件改变数据,实现改变子组件的目的。

子组件:

父组件:

二、非父子组件通信

有时候,非父子关系的两个组件之间也需要通信。在简单的场景下,可以使用一个空的 Vue 实例作为事件总线。原理就是把 Vue 实例当作一个中转站。

方法2:

在初始化web app的时候,main.js给data添加一个 名字为eventhub 的空vue对象。就可以使用 this.$root.eventHub 获取对象。

在组件内调用事件触发

在另一个组件调用事件接受,移除事件监听器使用$off方法。

二、非父子组件通信demo1

上一篇 下一篇

猜你喜欢

热点阅读