vue2x 依赖注入

依赖注入 祖先将数据共享给后代组件

  1. provide(提供者) 选项允许我们指定我们想要提供给后代组件的数据/方法。
  2. 然后在任何后代组件里,我们都可以使用 inject 选项来接收指定的我们想要添加在这个实例上的属性或者方法
  3. 注意: 当传递的数据是一个值的时候,这个值就是静态的,不会随着数据的变化而变化
    当直接将 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>

你可能感兴趣的:(vue,vue.js,前端)