vue中的provide与inject详解与使用

provide 和 inject 主要在开发高阶插件/组件库时使用。并不推荐用于普通应用程序代码中。
1.provide与inject一般都是成对使用,在父组件中使用provide分发状态 在父组件任意隔代组件中能使用inject接收porvide共享的值
例子

父组件
<script>
export default {
 data(){
    return {
      parentVal:'父组件的值'
},
//使用provide劫持父组件的值
provide:{
   val:this,
   parentVal:this.parentVal
}
}
}
</script>

<script>
export default {
 data(){
    return {
        
},
 //使用inject接收父组件的值
 inject:['val','parentVal']
},
created(){
    console.log(this.val,this.parent) //==>console.log('父组件vm数据实例','父组件的值')
}
</script>

这对选项是成对使用的。子孙组件想要获取祖先组件得资源,那么怎么办呢,总不能一直取父级往上吧,而且这样代码结构容易混乱。这个就是这对选项要干的事情。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容