Vue中如何利用$attrs实现组件间数据传递?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1017个文字,预计阅读时间需要5分钟。
组件间传递数据的方式有很多种,之所以有这么多方式,是为了满足在不同场景和条件下使用的需求。一般有以下三种方式:
1. props:通过属性传递数据,是父组件向子组件传递数据的方式。通常使用$attrs来介绍这种使用方式。
2.Vuex:用于在多个组件间共享状态,实现组件间的数据传递。
3.Vue Event Bus:通过事件总线实现组件间的通信。
以上是常见的几种组件间数据传递方式。
组件之间传递数据的方式有很多种,之所以有这么多种方式,是为了满足在不同场景不同条件下的使用。
一般有三种方式:
props
vuex
Vue Event Bus
本文介绍的是使用$attrs的方式。
这是$attrs的官网api cn.vuejs.org/v2/api/#vm-attrs
这个api是在2.4版本中添加的,那么为什么要添加这个特性呢?
看看官网是怎么解释的
包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 ( class 和 style 除外)。
当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 ( class 和 style 除外),
并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
第一次看的话真是不容易看懂,这里是既包含用法又隐晦的说明了为什么使用,还是我来解释一下吧。
意思就是: $attrs 可以收集父组件中的所有传过来的属性除了那些在组件中没有通过 props 定义的。
本文共计1017个文字,预计阅读时间需要5分钟。
组件间传递数据的方式有很多种,之所以有这么多方式,是为了满足在不同场景和条件下使用的需求。一般有以下三种方式:
1. props:通过属性传递数据,是父组件向子组件传递数据的方式。通常使用$attrs来介绍这种使用方式。
2.Vuex:用于在多个组件间共享状态,实现组件间的数据传递。
3.Vue Event Bus:通过事件总线实现组件间的通信。
以上是常见的几种组件间数据传递方式。
组件之间传递数据的方式有很多种,之所以有这么多种方式,是为了满足在不同场景不同条件下的使用。
一般有三种方式:
props
vuex
Vue Event Bus
本文介绍的是使用$attrs的方式。
这是$attrs的官网api cn.vuejs.org/v2/api/#vm-attrs
这个api是在2.4版本中添加的,那么为什么要添加这个特性呢?
看看官网是怎么解释的
包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 ( class 和 style 除外)。
当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 ( class 和 style 除外),
并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
第一次看的话真是不容易看懂,这里是既包含用法又隐晦的说明了为什么使用,还是我来解释一下吧。
意思就是: $attrs 可以收集父组件中的所有传过来的属性除了那些在组件中没有通过 props 定义的。

