Actions

Action 类似于 mutation,不同在于:

  • Action 提交的是 mutation,而不是直接变更状态。
  • Action 可以包含任意异步操作。

让我们来注册一个简单的 action,实践中,我们会经常会用到 ES2015 的 参数解构 来简化代码(特别是我们需要调用 commit 很多次的时候):

actions: {
increment ({ commit }) {
commit('increment')
}
}

看下我们项目中的actions:

怎么在组件中分发事件呢?

看下我们的Toolbar.vue代码

首先引入mapActions 辅助函数将组件的 methods 映射为 store.dispatch ,

映射 addNote() 为 this.$store.dispatch('addNote'),对应actions中的addNote。

使用actions的优点不只在于简化代码,更重要的在于我们可以在 action 内部执行异步操作。

mutation 有必须同步执行这个限制。Action 就不受约束:

actions: {
incrementAsync ({ commit }) {
setTimeout(() => {
commit('increment')
}, 1000)
}
}

这是mutation无法做到的。

至此我们的整个应用已经完成。

附上完整项目github地址

最新文章

  1. Intellij IDEA 导入 eclipese项目之后,中文注释乱码解决方案
  2. IbatisNet的介绍和使用
  3. SQL Server中建立外键的方法
  4. MFC的资源切换AFX_MANAGE_STATE(AfxGetStaticModuleState()
  5. RSA加密解密和读取公钥、私钥
  6. Eclipse、maven项目常见问题
  7. SpringMVC连接MongoDB操作数据库
  8. 前端JS面试题汇总 Part 3 (宿主对象与原生对象/函数调用方式/call与apply/bind/document.write)
  9. ionic 禁用 手势 滑动返回
  10. 手把手教你从头开始搭建友善之臂ARM-tiny4412开发环境(史上最详细!!)
  11. form表单post提交的数据格式
  12. svn下已add文件如何忽略
  13. Orchard Core 中数据库使用postgresql-10
  14. spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比 (附:遇到的坑)
  15. Atcoder Grand Contest 010 C - Cleaning 树贪心(伪)
  16. 51Nod 1344 走格子(贪心
  17. Codeforces 735B - Urbanization
  18. CF97B Superset
  19. iOS 9应用开发教程之编辑界面与编写代码
  20. 自我介绍和Github初次使用心得

热门文章

  1. 使用 Azure PowerShell 监视和更新 Windows 虚拟机
  2. Oracle Database 12c Preinstall Steps for Oracle Linux Simplified
  3. PHP 传值操作和传地址操作
  4. [部署]VM11下CentOS7mini安装及配置
  5. Netty入门(二)时间服务器及客户端
  6. 【洛谷P3410】拍照题解(最大权闭合子图总结)
  7. Oracle Database(rdbms) 12.2 安装组件
  8. [POI2011]Meteors
  9. docker容器下tomcat 不向catalina.out输出日志解决以及支持中文字符集
  10. DataGuard之Apply Services(redo应用和SQL应用)