provide \ inject使用方法

provide \ inject

vue2中

  • 在祖先组件中

    //这里的provide是一个对象,或者是一个返回对象的函数。里面呢就包含要给子孙后代的东西,也就是属性和属性值。
    export default{
      provide() {
        return {
          scrollToTop: this.scrollToTop,
            loadingHandle: this.loadingHandle
          }
      }
    };	
    
  • 在子组件中

    //一个字符串数组,或者是一个对象。属性值可以是一个对象
    export default {
      inject: ['loadingHandle'],
      mounted(){
         this.loadingHandle(true)
      }
    }
    inject:{
      listType:{
        from:'par',//provide定义的名字
        default:1
      }
    }
    

vue3中

  • 在祖先组件中

    修改父组件会影响所有子组件 是响应式的

    <script setup>
      import { provide, ref } from 'vue';
      import CountVue from './components/Count.vue';
      import ChildVue from './components/child/Child.vue';
      const count = ref(0);
      const handleAdd = ()=>{
        count.value
      };
      provide('msg',{data:{value:333}})
    </script>
    
  • 在子组件中

    <script setup>
    import { inject } from "vue";
    
    const _inject = inject("msg");
    console.log(_inject);
    </script>
    
posted @   Simon9527  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示