2-11-数据共享

一、组件之间的关系

在项目开发中,组件之间的最常见的关系分为如下两种:

1)父子关系

2)兄弟关系

二、父子组件之间的数据共享

父子组件之间的数据共享又分为:

1) 父->子共享数据

2.1 父组件向子组件共享数据

父组件向子组件共享数据需要使用自定义属性。示例代码如下:

注意:

1)修改子组件的数据,如果是基本数据类型,会直接改指向,因此父组件的数据不会被修改。

这里增加button来修改msg的值,修改后父组件的变量message不会改变

2)而如果修改的子组件数据是一个对象,并且我们修改的是对象中的某个值,那么父组件的对应值也会被修改。

因此为了避免出现问题,尽量不要修改props中的值。

2.2 子组件向父组件共享数据

子组件向父组件共享数据使用自定义事件。示例代码如下:

三、兄弟组件之间的数据共享

在vue2.x中,兄弟组件之间数据共享的方案是EventBus。

EventBus的使用步骤:

1)创建eventBus.js模块,并向外共享一个Vue的实例对象。

2)在数据发送方,调用bus.$emit(‘事件名称’,
要发送的数据)方法触发自定义事件。

3)在数据接收方,调用bus.$on(‘事件名称’,
事件处理函数)方法注册一个自定义事件。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!