美文网首页
vue中的依赖注入 provide 和 inject

vue中的依赖注入 provide 和 inject

作者: __Nancy | 来源:发表于2020-04-16 10:31 被阅读0次

    provide 选项允许我们指定我们想要提供给后代组件的数据/方法。在这个例子中,就是 <google-map> 内部的 getMap 方法:

    provide:是一个对象,或者是一个返回对象的函数。里面呢就包含要给子孙后代的东西,也就是属性和属性值。

    inject:一个字符串数组,或者是一个对象。属性值可以是一个对象,包含from和default默认值。

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

    然后在任何后代组件里,我们都可以使用 inject 选项来接收指定的我们想要添加在这个实例上的属性:

    inject: ['getMap']
    

    示例

    
    // 父级组件提供 'foo'
    var Provider = {
      provide: {
        foo: 'bar'
      },
      // ...
    }
    
    // 子组件注入 'foo'
    var Child = {
      inject: ['foo'],
      created () {
        console.log(this.foo) // => "bar"
      }
      // ...
    }
    

    上面方法测试 只能获取到值,并不能更新

    如果想修改父组件的值参照一下:


    code.png

    依赖注入所提供的属性是非响应式

    相关文章

      网友评论

          本文标题:vue中的依赖注入 provide 和 inject

          本文链接:https://www.haomeiwen.com/subject/ldwlvhtx.html