明天再看 vue 社区的时候发现这样一句话
提醒:provide
和 inject
绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的 property 还是可响应的。
(ps: 链接 https://cn.vuejs.org/v2/api/#…)
有点抵触的象征是不是,既然并不是可响应的那为什么传入可监听的对象,还是可响应的?
抱着这个纳闷,开始了求证
首先什么是 inject
和 provide
这里官网给出了这样一句话,
以容许一个先人组件向其所有子孙后代注入一个依赖,不管组件档次有多深,并在起上下游关系成立的工夫里始终失效。
那咱们就返回到
提醒:provide
和 inject
绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的 property 还是可响应的。
对这句话的了解上了,为什么官网要用这么矛盾的话来解释这两个属性呢?间接上源码:
在进行办法应用之前,vue 会设置 toggleObserving(false)
, 通知代码,我这个只是须要增加一个键值对而不须要增加对象内容进去,那这个时候大家就晓得 这个时候给过去的对象格局数据存储的是指针而不是数据。
ps:之后测试的时候 vue+ts 测试,数组和对象如同是能够失常的响应变动 ==emmmmmmm 求大家通知为啥
参考:https://vue-js.com/learn-vue/…