provide / inject
祖先组件向其所有后代组件注入依赖
- 组件
<template>
<div>
oindex
<oIndex2></oIndex2>
</div>
</template>
<script>
import oIndex2 from "./oIndex2";
export default {
components: {
oIndex2
},
provide() {
return {
list: this.list
};
},
data() {
return {
list: [{ id: 1, name: "刘德华" }]
};
}
};
</script>
<style>
</style>
- 子组件
<template>
<div>
oIndex2
<oIndex3></oIndex3>
</div>
</template>
<script>
import oIndex3 from "./oIndex3";
export default {
components: {
oIndex3
}
};
</script>
<style>
</style>
- 孙组件
<template>
<div>oIndex3</div>
</template>
<script>
export default {
inject: ["list"],
mounted() {
console.log("tag", this.list);
}
};
</script>
<style>
</style>
总结:达到数据的简单穿透效果