- 27
- 0
我是刚接触vue一个周,其中对 vuex 的理解有些模糊,下面是我在项目中用到的 vuex / moudles / com.js ,可以这样写吗?理解上有不对的地方吗?
import * as types from '../type'
/** Action
* 当要改变vuex的state的时候必须要用commit来提交一个mutation
* Vuex 从功能上来讲就是一个前端的缓存系统,解决不同组件间的数据共享的问题
*
* action 为了改变状态state的值,不仅可以同步也可以异步改变 state
* mutations 也是 action 的一种,用法也同 action ,不过它只能同步改变 state
*
* commit 实质上 store 的一个实例,里面有相应的方法,可以操作、获取 state ,然后写在action里面
*
* computed 如果要对数据进行处理输出,要过滤就要用到它,是vuex的计算属性
* getters 如果很多组件都需要 computed 过滤后的数据,比如饼图,曲线图等,把这个共同的属性抽取出来就需要用到 getters, 可以说它是 store 的计算属性
*/
/*APP 通用配置 state*/
const state = {
showSuccess: true,
showFail: false,
toastMsg: '操作成功',
showToast: false
}
/*将 state 写入到 action*/
const actions = {
showToast({commit}, state){
commit(types.COM_SHOE_TOAST, state)
},
showSuccess({commit}, state){
commit(types.COM_SHOW_SUCCESS, state)
},
showFail({commit}, state){
commit(types.COM_SHOW_FAIL, state)
},
toastMsg({commit},str){
commit(types.COM_TOAST_MSG, str)
}
}
/*将公共数据抽取出来*/
const getters = {
showToast: state => state.showToast
}
/*对数据改变 state*/
const mutations = {
[types.COM_SHOE_TOAST](state, status){
state.COM_SHOE_TOAST = status
},
[types.COM_SHOW_SUCCESS](state, status){
state.COM_SHOW_SUCCESS = status
},
[types.COM_SHOW_FAIL](state, status){
state.COM_SHOW_FAIL = status
},
[types.COM_TOAST_MSG](state, str){
state.COM_TOAST_MSG = str
}
}
/*对外共享这些数据*/
export default {
state,
actions,
getters,
mutations
}
在 store.js 中要怎么写呢? 上面是一个toast的组件,还没有实现。
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
