午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - 關(guān)于vuex,已知的是在組件中調(diào)用 dispatch 方法,返回值是 undefined,不知是哪里出了問題

瀏覽:235日期: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 = { // 調(diào)用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}

組件內(nèi)

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

javascript - 關(guān)于vuex,已知的是在組件中調(diào)用 dispatch 方法,返回值是 undefined,不知是哪里出了問題

各個(gè)模塊的引用應(yīng)該是沒有問題得,畢竟組件內(nèi)可以通過 this.$store 來(lái)訪問 state

但是不知道為何 dispatch 會(huì)返回 undefined

組件內(nèi)可以獲得正確的數(shù)據(jù)的,請(qǐng)問我該如何去使用,就像通過{{}}來(lái)展示一個(gè)grade1_name

問題解答

回答1:

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

const actions = { // 調(diào)用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 }}

最終組件中使用模板語(yǔ)法將計(jì)算屬性寫了上去,html:

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

js:

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

標(biāo)簽: JavaScript
主站蜘蛛池模板: 日韩在线视频一区 | 午夜视频a| 日韩爱爱爱 | 久久精品超碰 | 国内黄色片| 国产黄在线观看 | 色婷婷久久综合 | 亚洲黄色网络 | 四虎永久免费网站 | 中文字幕第一页av | 一区二区三区少妇 | 欧洲三级在线 | 日韩中文在线观看 | 九色porny丨国产精品 | 成年女人色毛片 | 一区二区三区四区在线免费观看 | 日韩欧美在线视频观看 | 91免费精品 | 免费的三级网站 | 国产视频97 | 怡红院综合网 | 日韩成人一级片 | jizz中国少妇高潮出水 | 欧美在线小视频 | 手机在线观看av网站 | 亚洲视频a | 久久中国 | 四虎一区二区 | 中文字幕在线视频网站 | 麻豆精品网站 | 日本免费网 | 日韩一区二区在线免费观看 | av中文网站 | 国产精品v亚洲精品v日韩精品 | 亚洲综合在 | 午夜av成人 | 伊人久久伊人 | 欧美成人精品欧美一级私黄 | 国产同性人妖ts口直男 | av大片网址 | 国产精品地址 |