vue依赖注入provide - inject实现子组件调用父组件的方法

父组件提供provide,允许我们指定我们想要提供给后代组件的数据/方法

    provide: function () {
    return {
       getMap: this.getMap
    }
}

子组件使用 inject 选项来接收指定的我们想要添加在这个实例上的属性:

    inject: ['getMap']

缺陷

  然而,依赖注入还是有负面影响的。它将你应用程序中的组件与它们当前的组织方式耦合起来,使重构变得更加困难。同时所提供的属性是非响应式的。这是出于设计的考虑,因为使用它们来创建一个中心化规模化的数据跟使用 $root做这件事都是不够好的。如果你想要共享的这个属性是你的应用特有的,而不是通用化的,或者如果你想在祖先组件中更新所提供的数据,那么这意味着你可能需要换用一个像 Vuex 这样真正的状态管理方案了。

猜你喜欢

转载自www.cnblogs.com/peatechen/p/11096631.html