第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

[Vue warn]:計(jì)算屬性“axios”已在 Data 中定義。在 <應(yīng)用程序>

[Vue warn]:計(jì)算屬性“axios”已在 Data 中定義。在 <應(yīng)用程序>

蠱毒傳說 2023-09-21 16:44:51
我不明白如何解決這個(gè)問題。我的控制臺(tái)中出現(xiàn)警告(查看標(biāo)題)。您可以通過以下代碼重現(xiàn)該警告//index.jsimport { createApp } from 'vue'import { store } from './store'import App from './App.vue'import axios from 'axios';const app = createApp(App)app.__proto__.axios = axiosapp.use(store)app.mount("#app")##應(yīng)用程序視圖<template>? <div class="TodoList">? ? <p v-for="todo in todos" :key="todo.id">{{ todo.title }}</p>? </div></template><script>export default {? mounted() {? ? this.$store.dispatch("fillItems");? },? computed: {? ? todos() {? ? ? return this.$store.getters.todos;? ? },? },};</script><style></style>##store.jsimport { createStore } from 'vuex';export const store = createStore({? ? state: {? ? ? ? todos: []? ? },? ? getters: {? ? ? ? todos(state) {? ? ? ? ? ? return state.todos? ? ? ? }? ? },? ? mutations: {? ? ? ? FILL_ITEMS(state, payload) {? ? ? ? ? ? state.todos = payload? ? ? ? }? ? },? ? actions: {? ? ? ? fillItems({ commit }) {? ? ? ? ? ? this.axios? ? ? ? ? ? ? ? .get("https://jsonplaceholder.typicode.com/todos")? ? ? ? ? ? ? ? .then(res => commit('FILL_ITEMS', res.data))? ? ? ? }? ? }})
查看完整描述

2 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以添加 axiosapp.config.globalProperties以便在任何子組件中訪問它:

const app = createApp(App)

app.config.globalProperties.axios=axios

在子組件中使用this.axios


但您無法在商店上下文中訪問它,因?yàn)閠his在操作中引用商店實(shí)例,因此您應(yīng)該在商店文件中導(dǎo)入 axios 并使用它,如下所示:


import { createStore } from 'vuex';

import axios from 'axios';

export const store = createStore({

? ? state: {

? ? ? ? todos: []

? ? },

? ? getters: {

? ? ? ? todos(state) {

? ? ? ? ? ? return state.todos

? ? ? ? }

? ? },

? ? mutations: {

? ? ? ? FILL_ITEMS(state, payload) {

? ? ? ? ? ? state.todos = payload

? ? ? ? }

? ? },

? ? actions: {

? ? ? ? fillItems({ commit }) {

? ? ? ? ? ? axios

? ? ? ? ? ? ? ? .get("https://jsonplaceholder.typicode.com/todos")

? ? ? ? ? ? ? ? .then(res => commit('FILL_ITEMS', res.data))

? ? ? ? }

? ? }

})

或者您可以分配axios給商店實(shí)例(不建議特別使用打字稿):


const app = createApp(App)

store.axios = axios

app.use(store)

app.mount("#app")


查看完整回答
反對 回復(fù) 2023-09-21
?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

在 Vue 3 中,您可以使用提供/注入為組件創(chuàng)建應(yīng)用程序全局變量:


提供

import { createApp } from 'vue'

import { store } from './store'

import App from './App.vue'

import axios from 'axios';


const app = createApp(App)

app.provide('axios', axios);? // Providing to all components here

app.use(store)

app.mount("#app")

注射

在選項(xiàng) API 中:


export default {

? inject: ['axios'];? ?// injecting in a component that wants it

}

在組合 API 中:


const { inject } = Vue;

...

setup() {

? const axios = inject('axios');? ?// injecting in a component that wants it

}

我回答得太快了,你不是在問組件,但我也會(huì)留下這個(gè)答案。如果您只想axios在單獨(dú)的模塊中使用,則可以像任何導(dǎo)入一樣使用它:


import axios from 'axios';

并使用axios而不是this.axios


查看完整回答
反對 回復(fù) 2023-09-21
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)