Vue 学习笔记 —— 组件化开发 (三)(1)

  • 子组件接收父组件传递过来的内容,要通过 props 来接收父组件的数据
组件数据传递

父组件向子组件传递数据

{{pmsg}}

二、静态数据传递

三、动态数据传递

四、短横线绑定

五、数组传递

六、对象传递

在这里插入图片描述

2.2 子组件向父组件传递数据

子组件向父组件传值

props 传递数据原则,单向数据流

  1. 子组件通过自定义事件向父组件传递信息 $emit 向父组件传递数据

  2. 父组件监听子组件的事件

接下来我们以一个改变字体大小 以及 传递数组的实例来给给大家演示子组件向父最贱传递数据的流程

子组件向父组件传递数据
{{pmsg}}

<menu-item :parr=“parr” @enlarge-text=“handle”>

在这里插入图片描述

在这里插入图片描述

2.3 子组件通过自定义事件向父组件传递信息

基本和上面一致

子组件传递的数据,在父组件中要通过 $event 来接收数据

子组件向父组件传递数据
{{pmsg}}

<menu-item :parr=“parr” @enlarge-text=“handle($event)”>

在这里插入图片描述

2.4 非父子组件间传值 (兄弟组件之间数据交互)

通过事件中心完成交互

在这里插入图片描述

使用方式:

  1. 单独创建一个 Vue 实例

  2. 然后处理事件的监听 和 销毁

// 单独创建时间中心管理组件间的通信

var eventHub = new Vue();

// 监听事件和销毁事件

eventHub.$on(‘add-todo’,addTodo); // 自定义事件名称 事件函数

eventHub.$off(‘add-tod’);

// 触发事件

eventHub.$emit(‘add-todo’,id);

示例

组件化开发
事件销毁

<button @click=“handle”>点击

在这里插入图片描述

2.5 组件插槽

  • 父组件向子组件传递模板内容

  • 子组件通过插槽 slot 显示父组件中模板的数据

slot 是 vue 提供的 API,使用 slot 在子组件,我们可以在模板中插入我们想要的数据,我们还可以在 slot 中添加默认的数据

组件化开发

我没有通过 slot,我进不来


我通过 slot 插入进来了

在这里插入图片描述

2.6 具名插槽

在一个组件中,我们可以指定多个插槽插入数据,但是为了区分这些数据,我们会设置一个 name 值来标识唯一的插槽

组件化开发

标题信息

我是主要内容

我是主要内容

底部信息


标题信息1

标题信息2

我是主要内容

我是主要内容

底部信息1

底部信息2

在这里插入图片描述

2.7 作用域插槽

应用场景: 父组件对子组件的内容进行加工处理。

使用方式:

  1. 在子组件中设置 slot,并自定义一个属性,接收父组件的内容

  2. 父组件创建 template,通过设置 slot-scope 就可以接收到子组件的内容

  3. 然后得到数据,就可以对数据进行显示了。

作用域插槽
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值