国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - 關于vuex,已知的是在組件中調用 dispatch 方法,返回值是 undefined,不知是哪里出了問題

瀏覽:136日期:2023-04-03 14:41:19

問題描述

用的vuex的modules

mutation-type

export const GET_TABGRADE = ’GET_TABGRADE’

api部分代碼

const tanjie = axios.create({baseURL: ’tanjie’ })findGrade1: function () {return new Promise((resovle, reject) => { tanjie({url: ’/content/findGrade1’ }).then(response => {console.log(’api is transfer’)resovle(response.data) }).catch(error => {reject(error) })}) },

模塊:

import baseApi from ’@/api/base’import * as types from ’../mutation-type’const state = { tabGrade: {errno: 1,list: {} }}const getters = { getTabGrade: state => {state.tabGrade }}const actions = { // 調用api getTabGrade({ commit }) {console.log(’is actions’)return new Promise(function (resolve, reject) { baseApi.findGrade1().then(res => { commit(types.GET_TABGRADE, res) resolve(res); }).catch(err => { console.log(err)})}) }}const mutations = { [types.GET_TABGRADE](state, res) {state.tabGrade = { ...state.tabGrade, list: res.list}console.log(state.tabGrade) }}export default { state, getters, actions, mutations}

組件內

computed: { ...mapGetters([ ’getTabGrade’ ]), created() { this.$store.dispatch(’getTabGrade’) .then(res => {console.log(res) // undefinedreturn res }) .catch(err => {console.log(err) }) },

javascript - 關于vuex,已知的是在組件中調用 dispatch 方法,返回值是 undefined,不知是哪里出了問題

各個模塊的引用應該是沒有問題得,畢竟組件內可以通過 this.$store 來訪問 state

但是不知道為何 dispatch 會返回 undefined

組件內可以獲得正確的數據的,請問我該如何去使用,就像通過{{}}來展示一個grade1_name

問題解答

回答1:

加了return和resolve,不然this.$store.dispatch(’getTabGrade’)觸發調用可能沒有返回帶有正確值的promise,你試試看。

const actions = { // 調用api getTabGrade({ commit }) {console.log(’actions’) return baseApi.findGrade1() //添加return .then(res => {commit(types.GET_TABGRADE, res)resolve(res); //添加resolve }).catch(err => {console.log(err) }) }}回答2:

已解決,我最后在模塊的getter中做了一下處理:

const getters = { getTabGrade: state => {console.log(’getter’,state.tabGrade)let tabGradeName = []for(var i =0; i<state.tabGrade.list.length; i++){ tabGradeName.push(state.tabGrade.list[i].grade1_name)}return tabGradeName }}

最終組件中使用模板語法將計算屬性寫了上去,html:

<span>{{getTabGrade[0]}}</span>

js:

computed: { ...mapGetters([ ’getTabGrade’ ])

標簽: JavaScript
主站蜘蛛池模板: 波多野结衣在线免费观看视频 | 一级成人毛片免费观看欧美 | 99久久伊人一区二区yy5o99 | 久久精品a | 免费在线观看一级毛片 | 欧美成人观看视频在线 | 99福利资源久久福利资源 | 97高清国语自产拍中国大陆 | 久操免费在线 | 在线观看精品视频一区二区三区 | 久久加勒比 | 国产午夜亚洲精品第一区 | 久久欧美 | 成年女人在线观看片免费视频 | 日韩精品亚洲一级在线观看 | 亚洲一级免费毛片 | 欧美日韩一区二区视频免费看 | 自拍偷拍亚洲视频 | a毛片免费全部在线播放毛 a毛片免费视频 | 在线看亚洲 | 国产系列在线观看 | 日日爽夜夜操 | 久草视频在线网 | 波多野结衣一区二区三区高清在线 | 精品国产成人三级在线观看 | 午夜视频在线观看一区二区 | 在线免费观看精品 | 国产情侣普通话刺激对白 | 全免费a级毛片免费毛视频 全午夜免费一级毛片 | 在线成人免费 | 欧美色爱综合 | 一级白嫩美女毛片免费 | 91精品啪在线看国产网站 | 91精品国产美女福到在线不卡 | 国产成人久久精品二区三区 | 久久是精品 | 亚洲免费久久 | 亚洲综合色自拍一区 | a男人的天堂久久a毛片 | 成人精品国产亚洲欧洲 | 亚洲成aⅴ人片在线影院八 亚洲成av人片在线观看 |