前端培训:Vue3 添加公共方法与使用
在 vue3 中是不会直接暴露 vue 对象给你使用了。前端培训所以不能想 vue2 那样直接在原型上挂载,那么该如何实现公共方法的挂载呢?下面以 $axios 方法为例,介绍 vue3 添加公共方法的三种方式。
第一种:使用 app.config.globalProperties 添加
import { createApp } from 'vue'
import axios from 'axios'
const app = createApp({
created() {
console.log(this.$axios)
}
})
app.config.globalProperties.$axios = axios
app.mount('#root')
在 setup 中访问(setup 中没有 this)
<script setup>
import {getCurrentInstance} from 'vue'
const { proxy } = getCurrentInstance();//获取公用方法 proxy.$axios,或者 use 中方法
const {$axios}=proxy
console.log($axios)
</script>
第二种:使用 app.mixin 添加
import { createApp} from 'vue'
import axios from 'axios'
const app = createApp({
created() {
console.log(this.$axios)
}
})
app.mixin({
methods: {
$axios: axios
}
})
app.mount('#root')
第三种:采用 provide, inject 方法
需要注意的是这种方法需要组建 inject 注入进组件才能使用_web前端培训。
import { createApp } from 'vue'
import axios from 'axios'
const app = createApp({
inject: ['$axios'],
created() {
console.log(this.$axios)
}
})
app.provide('$axios', axios)
app.mount('#root')
文章来源于 web 前端开发
评论