Vue组件化(父子组件间的通信,插槽slot)

1 如何进行父子组件间的通信呢?
1.1通过props向子组件传递数据(父传子)
在子组件中,使用选项props来声明需要从父级接收到的数据。
props的值有两种方式:
方式一:字符串数组,数组中的字符串就是传递时的名称。
在这里插入图片描述
方式二:对象,对象可以设置传递时的类型,也可以设置默认值等。
在这里插入图片描述

1.2通过事件向父组件发送消息(子传父)
在子组件中,通过$emit()来触发事件。
在父组件中,通过v-on来监听子组件事件。

在这里插入图片描述

1.3父子组件的访问
有时候我们需要父组件直接访问子组件,子组件直接访问父组件,或者是子组件访问跟组件。
1.3.1父组件访问子组件:使用$refs
r e f s r e f 使 r e f I D t h i s . refs和ref指令通常是一起使用的。 首先,我们通过ref给某一个子组件绑定一个特定的ID。 其次,通过this. refs.ID就可以访问到该组件了。
在这里插入图片描述
在这里插入图片描述
1.3.2子组件访问父组件:使用$parent

2.1插槽
2.1.1在子组件中,使用特殊的元素就可以为子组件开启一个插槽。
该插槽插入什么内容取决于父组件如何使用。
在这里插入图片描述
在这里插入图片描述

2.1.2具名插槽
在这里插入图片描述
在这里插入图片描述