在做一个vue项目小项目中使用vuex可能有些臃肿,该怎么解决?

一、Vuex是干什么用的

它是用于对複杂应用进行状态管理用的(官方说法是它是一种状态管理模式)。

“杀鸡不用宰牛刀”对于简单的项目,根本用不着Vuex这把“宰牛刀”那简单的项目用什么呢?用mit('increment', {

经过这样的映射之后就可以通过调用方法的方式来触发其对应的(所映射到的)mutation commit了,比如上例中调用add()方法,就相当于执行了mit('increment')

像上面这样,就既声明了收到mutation后怎么处理又清楚了怎么触发做一个vue项目mutation。是不是特别像事件的处理函数(handler)以忣事件的触发(emit)之间的关系

考虑到触发的mutation的type必须与mutations里声明的mutation名称一致,比较好的方式是把这些mutation都集中到做一个vue项目文件(如mutation-types)中以常量的形式定义在其它地方再将这个文件引入,便于管理而且这样做还有做一个vue项目好处,就是整个应用中一共有哪些mutation type可以一目了然僦像下面这样:

与必须是同步函数Mutation所不同,Action可以包含异步的操作

或者用ES2015的参数解构,可以简写成:

主要是下面这一小段代码:

九、实际使用时的文件结构和关系

来看做一个vue项目Vuex综合运用的例子:

1、应用层级的状态应该集中到单个 store 对象中状态对象太复杂的时候可以划分module。

2、提交 mutation 是更改状态的唯一方法

state保存的是数据

异步逻辑都应该封装到 action 里面

mutation 是同步的,不能出现异步

7、辅助方法的映射上:

本文参与欢迎囸在阅读的你也加入,一起分享

我要回帖

更多关于 vue 项目 的文章

 

随机推荐