亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vuex到底如何在頁面調用actions?

vuex到底如何在頁面調用actions?

楊__羊羊 2018-08-31 21:19:42
頁面代碼methods: {     ...mapActions(['addList', 'delList']),         add (value) {              this.addList({title: value})     },     del (item) {           this.delList(item)     } }actions中代碼import * as types from './mutations'export const addList = ({commit}, item) => {   commit(types.ADD_LIST, item) }     export const delList = ({commit}, item) => {   commit(types.DELETE_LIST, item) }但是執行會報[vuex] Expects string as the type, but found function.求高手指點一下哪里出錯了,非常感謝.如果把上面代碼改為下面的代碼就可以執行methods: {     add (value) {       this.$store.commit('ADD_LIST', {title: value})     },     del (item) {       this.$store.commit('DELETE_LIST', item)     } }
查看完整描述

2 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

export const addList = (commit) => (item) => {
  commit(types.ADD_LIST, item)
 }

沒用過vuex,不過如果和Redux差不多的話,應該是這么用。


查看完整回答
反對 回復 2018-09-09
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

actions.js文件應該改成下面這樣

export const addList = ({commit}, item) => {
  commit('ADD_LIST', item)
}    
export const delList = ({commit}, item) => {
  commit('DELETE_LIST', item)
}

或者還是用之前的寫法,但是要新建一個mutation-types.js文件

export const ADD_LIST = 'ADD_LIST'
export const DELETE_LIST = 'DELETE_LIST'

actions.js

import * as types from './mutation-types'export const addList = ({commit}, item) => {
  commit(types.ADD_LIST, item)
}    
export const delList = ({commit}, item) => {
  commit(types.DELETE_LIST, item)
}


查看完整回答
反對 回復 2018-09-09
  • 2 回答
  • 0 關注
  • 4820 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號