• M
    2019-03-25
    还想问一个问题,这个provide和inject,官方说建议provide 和 inject 主要为高阶插件/组件库提供用例。并不推荐直接用于应用程序代码中。这是为什么,这么好的东西我们应用到我们的业务场景中会有怎样的弊端呢?

    作者回复: 业务开发可以优先考虑vuex提供全局唯一store, provide inject 会有一个类似冒泡的特性,数据源有可能在中间被”“打断”,甚至是有可能被组件库中的组件打断,或者打断组件库中的provide,不利于维护
       

    
     12
  • 爱烤火的鱼
    2019-04-08
    this.color不是在data中定义了吗?为什么不是响应式的?

    作者回复: Provide提供的数据默认都不是响应式的 这个官方文档有说明 可以在文档中直接搜索provide这个关键字

    
     4
  • LLT
    2019-03-29
    为什么我用作者提供的Demo,在不取消注释的情况下点击A节点改变颜色,它怎么照样可以改变颜色,不是不应该改变颜色吗?按道理应该theme:this的情况下才会改变颜色。不解中。。。。。。

    作者回复: 如果你是运行的demo,注意看1.8/index.vue 中具体使用的哪个组件,ChildrenA 还是 ChildrenA_a,这个在讲解习题的时候代码被同步改成了习题的答案demo。
    官方解释如下:https://cn.vuejs.org/v2/api/#provide-inject

    
     3
  • 接口组
    2019-07-13
    老师,event Bus 和provide/inject有啥本质的区别
    
     2
  • 网络修补匠
    2019-04-12
    老师,还是有点不理解 this.color 在 data 中已经声明了,为什么不是非响应的。能不能解释一下,百度了好多也没有想要的答案。。希望老师看到

    作者回复: this.color是响应式的,但通过provide提供给其他组件的color就不是响应式了

    
     2
  • huanghui
    2019-04-24
    使用Vue.observable,E组件想改变color,需要将自组件代码修改为:
          handleClick(){
                if(this.theme.color) {
                    this.theme.color = 'green'
                }
            }
    @M留言中的不对。。。
    展开
    
     1
  • CCCCJH
    2019-03-21
    感觉有点像mobx

    class store {
        @observable msg = "hello world"
        @action change() {
               this.msg = "hello vue"
          }

    在需要用到状态的组件内
    @inject('store')
    @observer
    展开
    
     1
  • Cris
    2019-11-11
    为什么说provide/inject 破坏了单向数据流?
    
    
  • Saki
    2019-11-07
    这个有点意思,又学到了,可能近期会有需要
    
    
  • 怀英
    2019-09-23
    #5W2H#
    What:vue的provider和inject
    Why:用于不同的DOM节点之间进行通讯
    Who:null
    Where:null
    When:null
    How:bull
    How much/how good/how bad:null
    展开
    
    
  • 白猿
    2019-07-29
    我自己试了一下,我在父组件给最底层的子组件传值,子组件在接受到以后先要改变传进来的值,为什么不能改呢?请老师给解答一下
    
    
  • 欧罗巴皇
    2019-07-12
    老师我有个问题,就是我在用antd的时候菜单栏递归报这种错误
    vue.min.js:6 TypeError: Cannot read property 'isRootMenu' of undefined
        at a.render (SubMenu.jsx:500)
    
    
  • Geek_51e04d
    2019-05-05
    组件间的通信,项目不是特别复杂的情况下不采用vuex话完全可以用eventbus吧。provide局限性太大。
    
    
  • 晓芳☀️☀️☀️
    2019-04-28
    $ git clone https://github.com/geektime-geekbang/geektime-vue-1.git
    Cloning into 'geektime-vue-1'...
    remote: Enumerating objects: 334, done.
    error: RPC failed; curl 18 transfer closed with outstanding read data remaining
    fatal: The remote end hung up unexpectedly
    fatal: early EOF
    fatal: index-pack failed
     老师,我在 git 上拉代码,总是报错
    展开

    作者回复: 这个是个人网络问题吧

    
    
  • 烟雨海花lwl
    2019-04-28
    打卡三刷

    作者回复: 666

    
    
  • 卻纂
    2019-04-18
    感觉就是模仿的context

    作者回复: 解决的都是同类问题

    
    
  • 泡泡
    2019-04-15
    老师,不明白,为啥this.color为字符串时,provide不是响应式的呢?
    
    
  • 烟雨海花lwl
    2019-04-12
    我第一次理解这个概念,很棒
    
    
  • 欧罗巴皇
    2019-04-07
    我的意思是用了observe或this不用changeColor直接改变颜色

    作者回复: 你是说直接在子组件修改?
    不要再子组件直接修改 还是那句话: 单向数据流 如果要改动,要通过“最顶层”去修改

    
    
  • 欧罗巴皇
    2019-04-07
    当没有注入this对象的时候(即没有changeColor方法),可以直接在子组件改变theme的颜色也是可以做到关联颜色改变的。

    作者回复: 并不可以的,如果你是运行的demo,注意看1.8/index.vue 中具体使用的哪个组件,ChildrenA 还是 ChildrenA_a,这个在讲解习题的时候代码被同步改成了习题的答案demo。
    官方解释如下:https://cn.vuejs.org/v2/api/#provide-inject

    
    
我们在线,来聊聊吧