我是vue和Quasar的新手。
现在,我了解了 Vue的工作方式,
我试图理解初始化Quasar时获得的样板代码
启动时,我要求它集成 cli
中的 axios和veux现在,我正在尝试理解模板,该模板偶然发现插件文件夹中的 axios.js文件
文件包含以下代码
import axios from 'axios'
export default ({ Vue }) => {
Vue.prototype.$axios = axios
}
有人可以告诉我这段代码做什么吗?根据我的理解,似乎它为 vax称为axios 添加了一种方法,以便我们可以在全球范围内使用它?
使用$axios
的原因可能是什么?即Vue.prototype.$axios = axios
,我们不能只做Vue.prototype.axios = axios
吗?因为它最终会创建属性?
如果我们可以全局使用axios(无需导入axios,或者换句话说,写import axios from "axios"
)。那我们该怎么办呢?
我猜这只能在 .vue 文件上起作用?
我习惯于在所有网络请求中创建一个辅助函数,通常该辅助函数文件为networkRequest.js
,我将在其中导入axios并发出请求。 networkRequest.js
是发出所有请求的唯一点。由于Vue.prototype.$axios = axios
仅适用于.vue文件?使用样板中的axios插件还是有意义的
答案 0 :(得分:0)
是的,您是正确的。它创建axios的全局实例,该实例可用于Vue的所有组件。因此,您可以创建一个实例并将该实例的所有通用属性放在一起,而不是将axios导入多个文件并创建多个实例。例如,您可以在一个地方定义拦截器和URL,而不是将它们分布在各处。
Vue在他们的网站中定义得很好
这里没有魔术发生。 $是Vue用于属性的约定 适用于所有实例。这样可以避免与任何 定义的数据,计算的属性或方法。
您可以通过多种方式进行操作。如果您在.vue
文件中,则可以通过this.$axios()
直接访问它。如果要通过Vuex商店访问它,则需要传递组件的上下文,或者可以在JS文件中使用它 import Vue from 'vue'
,并像Vue.prototype.$axios()
< / p>
它也将在JS文件中工作。遵循数字3中的步骤。
请参阅数字4。