浅谈Vue的组件通信之子父通信和兄弟通信
子父通信呢,我们在这里讲了两种方法
第一种是通过五步走的一个方法
-
父组件声明一条数据
-
父组件需要写一个更改自身数据的方法
-
将更改自身数据的方法通过属性方式传递给子组件
-
子组件需要通过props来接受父组件传递来的方法
-
子组件就可以通过调用接收过来的方法来把数据传递给父组件了
第二种是通过自定义事件的方式来进行子父传递(前两步与第一种方法是相同的)
只需在从第三步开始,给子组件绑定一个自定义事件 @自定义事件名=父组件处理函数
然后需要在子组件中触发绑定在自身上面的父组件处理函数事件,可以通过
通过this.$emit方法就可以触发@后面的自定义事件,第二个参数就是可以传递参数过去
比如可以给弟弟组件添加一个ref属性,然后通过哥哥组件的$parent找到父亲,然后通过$refs找到弟弟组件,就可以解决兄弟之间通信的问题
解决兄弟通信的第二种方式也可以通过event bus事件总线的方式来进行