provide 和 inject跨组件传值
实现跨组件传值,不必是父子组件才能传值,父子孙组件也可以
provide:必须在分级组件进行使用,用来给下级组件注入依赖
inject:必须在子组件进行使用,用来获取父组件定义的跨组件传递的数据
提示:provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。
//父组件定义
<template>
<div id="app">
<h1>父组件</h1>
<Child/>
</div>
</template>
<script>
import Child from "./components/child";
export default {
components: {
child,
},
provide() {
return {
"name" : "tom",
}
}
}
</script>
//子组件接收
<template>
<div id="child">
<p>子组件</p>
<span>接收的父组件的数据为{{name}}</span>
</div>
</template>
<script>
export default {
components: {
child,
},
inject() {
name: {
default: "Jerry", //指定默认值
}
}
}
</script>