所谓隔代通信就是A 与C的通信
A -> B -> C
代码实例
A.vue
import BChild from "./B.vue";
export default {
data() {
return {};
},
components: { BChild },
methods: {
buttonClick() {
console.log("buttonClick...");
}
}
};
B.vue
B组件
name: {{nameToB}}
$attrs: {{$attrs}}
import CChild from './C.vue';
export default {
props: ['nameToB'],
components: { CChild },
data () {
return {};
},
// inheritAttrs: false,
};
C.vue
C组件
name: {{nameToC}}
$attrs: {{$attrs}}
点击C按钮
export default {
// inheritAttrs: false,
props: ['nameToC'],
data () {
return {};
},
methods: {
buttonClick(){
this.$emit('buttonClick');
}
}
};
最终,通过B实现了A与C的通信
参考
Vue v2.4中新增的
a
t
t
r
s
及
attrs及
attrs及listeners属性使用教程
