• home > webfront > ECMAS > vue3 >

    vue2升级vue3:getCurrentInstance—Composition api/hooks中如何获取$el

    Author:zhoulujun Date:

    Vue3 x中的核心方法:getCurrentInstance,用于 获取当前组件的实例、上下文来操作router和vuex等。

    在vue2中,我们进程看到 this.$el 操作。但是在vue3 如何获取组件的当前 dom 元素呢?  可以利用 getCurrentInstance

    getCurrentInstance

    Vue3.x中的核心方法:getCurrentInstance,用于 获取当前组件的实例、上下文来操作router和vuex等

    import { getCurrentInstance } from 'vue';
    // 获取当前组件实例
    const instance = getCurrentInstance();
    
    // 获取当前组件的上下文,下面两种方式都能获取到组件的上下文。
    const { ctx }  = getCurrentInstance();  //  方式一,这种方式只能在开发环境下使用,生产环境下的ctx将访问不到
    const { proxy }  = getCurrentInstance();  //  方式二,此方法在开发环境以及生产环境下都能放到组件上下文对象(推荐)
    // ctx 中包含了组件中由ref和reactive创建的响应式数据对象,以及以下对象及方法;
    proxy.$attrs
    proxy.$data
    proxy.$el
    proxy.$emit
    proxy.$forceUpdate
    proxy.$nextTick
    proxy.$options
    proxy.$parent
    proxy.$props
    proxy.$refs
    proxy.$root
    proxy.$slots
    proxy.$watch





    转载本站文章《vue2升级vue3:getCurrentInstance—Composition api/hooks中如何获取$el》,
    请注明出处:https://www.zhoulujun.cn/html/webfront/ECMAScript/vue3/8879.html