有时候在vue项目中,普通js文件需要调用一些公共方法,但是我们公共方法都挂载在了vue原型对象上面

在.vue文件中,使用this.的方式获取到vue实例,但是在单独的js文件中的this指向的是window,所以js文件中的this是指向不到vue实例的,所以会报错

方式一:通过将vue的实例对象在main.js文件中导出,在需要的地方引入main.js文件

//main.js文件中

import Vue from 'vue';
import http from '@/utils/comm.js'

Vue.prototype.$http=http //$http挂载到vue原型上的一个方法

var vue=new Vue({
    el: '#app',
    render: h => h(App)
  }).$mount('#app');
})

export default  vue
import vue from '../main.js'

console.log(vue,'vue实例')
console.log(vue.$http(),'vue实例上的方法调用')

方式二:在js文件中 1.引入Vue 2.实例化Vue 3.从原型对象上面调用方法

//任意js文件
//引入vue
import Vue from "vue"
//必须实例化
var vm = new Vue()
//调用方法
vm.$http()

Logo

前往低代码交流专区

更多推荐