依赖注入 祖先将数据共享给后代组件
- provide(提供者) 选项允许我们指定我们想要提供给后代组件的数据/方法。
- 然后在任何后代组件里,我们都可以使用 inject 选项来接收指定的我们想要添加在这个实例上的属性或者方法
- 注意: 当传递的数据是一个值的时候,这个值就是静态的,不会随着数据的变化而变化
当直接将 count 传递过去的时候并不会动态改变,需要写成函数
返回 count
indect 的时候接收的是一函数,所以使用的时候要使用函数调用的形式
// My组件
export default {
data() {
return {
count: 100,
};
},
methods: {
add(num) {
this.count += num;
},
},
provide() {
return {
count: () => this.count, // 注意:写成函数
add: this.add,
};
},
};
// MySon组件
export default {
inject: ["count", "add"],
};
<p>{{count()}}</p>