美文网首页
vue中的provide与inject详解与使用

vue中的provide与inject详解与使用

作者: 艾希_可可 | 来源:发表于2024-04-11 10:32 被阅读0次

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>

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

相关文章