//新建的项目的main.js文件是这样的
//main.js 文件
//befor
import { createApp } from 'vue';
import App from './App.vue';
const app = createApp(App);
app.mount('#app');
以下例子用于解释在vue3.0的main.js中挂载公共的方法(foo)
//main.js 文件
//after
import { createApp } from 'vue';
import App from './App.vue';
import foo from '@/foo';
const app = createApp(App);
app.config.globalProperties.$foo = foo;
//有些三方包是需要use的,要具体去看对应的文档,自己写的则不需要这个 我的vue是3.0.0 vue-cli是4.5.0 下测可不加
//app.use(foo);
app.mount('#app');
在页面中使用,这里只针对使用了setup语法糖的使用者
<templant>
<div></div>
</templant>
<script setup>
import { getCurrentInstance } from 'vue';
const { proxy } = getCurrentInstance ();
proxy.$foo()
</script>
这个是Vue2上挂载原型方法的方式
import Vue from 'vue'
import App from './App.vue'
// 写一个方法挂在vue2实例对象上
Vue.prototype.$myMethod = function() {
console.log('这个触发了')
console.log('这个是v2222',this)
}
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
在页面中使用 $myMethod
<template>
<div id="app">
<div @click="add">点击</div>
</div>
</template>
<script>
export default {
methods:{
add(){
// console.log('这个触发了',this)
this.$myMethod() // 调用挂载的方法
}
}
}
</script>