vue组件(1)

A,组件通信

首先,父子组件传值

1,props和$emit

其次,中央事件总线bus

2,$emit和$bus

3,Vuex仓库(存值到仓库,然后取值)

4,$attrs和$listeners

$attrs:包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。

$listener:包含了父作用域中的 (不含 .native 修饰器的) v-on 事件监听器。它可以通过 v-on="$listeners" 传入内部组件——在创建更高层次的组件时非常有用。

//开发高阶插件/组件库时使用

5,provide和inject(跨级组件间的通信)

provide:一个对象,或返回一个对象的函数

inject:一个字符串数组,一个对象

注意:它们两个绑定并不是可响应的!!

B,组件其他

1.组件的注册方式

全局注册和局部注册,全局注册,页面都可以使用,局部注册,只能在当前页面使用。

2,组件插槽

1).首先插槽分为普通插槽、具名插槽和作用域插槽

2).具名插槽:使用name属性给slot起个名字的插槽;作用域插槽:在组件上的属性,可以在组件元素内使用

3,组件props传值

1.props可以传递数组,对象,字符串,布尔值,数字,函数等等

4.组件使用

1)引入组件路径;

2)注册组件;

3)应用组件

注意:组件可以嵌套使用,实现多重复用!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。