**一、**
加入自定义了组件B componentB; 在componentA中引用 B,并使用props接收了两个参数,比如:name、age, 在A中这样调用B
<componentB
:name='_name'
:age='age'
:phone='phone'
@study='study'
/>
**二、**
如果componentB 又调用了组件C componentC,若componentC想获取从componentA中没有被componentB的props接收的参数,componentB的如下:
<template>
<div v-bind="$attrs" v-on="$listeners"></div>
<componentC />
</template>
<script>
export default {
indeterminate: true,
props: {
name,
age
}
}
**三、**
在组件C中就可以这样调用(可以通过vm.
a
t
t
r
s
获
取
祖
先
组
件
传
输
的
数
据
,
通
过
v
m
.
attrs 获取祖先组件传输的数据, 通过vm.
attrs获取祖先组件传输的数据,通过vm.listeners获取祖先节点的methods)
export default {
mounted () {
// 访问ComponentA传入的`phone`, ComponentB的props并未接收
console.log(this.$attrs.phone)
// 触发ComponentA绑定`study`事件, 并非ComponentB emit的
this.$emit('study')
}