根据此博客文章,在Vue.js 2中包含常用库(例如axios)的正确方法是将它们设置为Vue原型对象的属性,如下所示:
import axios from 'axios';
Object.defineProperty(Vue.prototype, '$axios', { value: axios });
不幸的是,这种方法不再适用于Vue.js 3。那么在整个项目中导入库的正确方法是什么?我不希望将它们设置为全局变量(即window
对象)。
使用提供/注入作为替代
import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios';
const app = createApp(App)
app.provide('axios', axios ) // <-- define here
app.mount('#app')
然后,在您想要使用axios的任何组件中,您都可以这样做
app.component('todo-list-statistics', {
inject: ['axios'],
created() {
this.axios // --> Injected property
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句