当前位置: 首页 > Web前端 > vue.js

关于provide和inject

时间:2023-04-01 00:12:09 vue.js

今天看vue社区的时候,发现了这么一句话:Thebindingbetweenprovideandinjectisnotresponsive。这是故意的。但是,如果你传入一个可监听的对象,这个对象的属性仍然是响应式的。(ps:链接https://cn.vuejs.org/v2/api/#...)有点冲突的意思是,既然不是responsive,为什么传入可监听对象还是有responsive的呢?带着这个疑惑,我开始先验证什么是inject和provide。这里有一句官方的说法,就是让一个祖先组件向它的所有子孙组件注入一个依赖,不管这个组件层级有多深,都具有上下游关系。成立时始终有效。然后我们回到提示:provide和inject绑定没有响应。这是故意的。但是,如果你传入一个可监听的对象,这个对象的属性仍然是响应式的。这句话的理解提高了,为什么官方要用这么矛盾的词来解释这两个属性呢?直接看源码:在使用该方法之前,Vue会设置toggleObserving(false)告诉代码我只需要添加一个键值对,而不需要添加对象内容,这样大家就知道在给的对象了这次Fo??rmatdata存储的是指针而不是数据。ps:后面测试vue+ts的时候,数组和对象貌似可以正常响应变化==emmmmmmm请告诉我为什么参考:https://vue-js.com/learn-vue/...