普通js文件中,如何获取vue的this实例?

631 阅读1分钟

需求描述

封装一些工具函数功能时,工具函数抽离出来这时就需要放到单独js文件里,那么这时vue的this实例就拿不到了。

你们亲自试过了没?import Vue from 'vue'里面根本没有$createElement

import vue from "vue"

console.log(Vue.$createElement) // undefined

console.log(Vue.prototype.$createElement) // undefined

解决方法

在main.js里导出app挂载实例,在用到js里引入main.js,这样就能获取到vue的this实例

详细代码

main.js代码


import Vue from 'vue'
const app = new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')

export default app;

import ("@/utils/versions-update.js")//自己定义代码

version-update.js代码 这里是自己定义js文件,我这里文件名 version-update.js

import Vue from "vue";
import app from '../../main.js'

let h = app.$createElement;

console.log(app)

打印console.log(app)如下

image.png