从 Vuex 0.6.x 迁移到 1.0

Vuex 2.0 已经发布了,但是这份指南只涵盖迁移到 1.0?这是打错了吗?此外,似乎 Vuex 1.0 和 2.0 也同时发布。这是怎么回事?我该用哪一个并且哪一个兼容 Vue 2.0呢?

Vuex 1.0 和 2.0 如下:

  • 都完全支持 Vue 1.0 和 2.0
  • 将在可预见的未来保留支持

然而它们的目标用户稍微有所不同。

Vuex 2.0 从根本上重新设计并且提供简洁的 API,用于帮助正在开始一个新项目的用户,或想要用客户端状态管理前沿技术的用户。此迁移指南不涵盖 Vuex 2.0 相关内容,因此如果你想了解更多,请查阅 Vuex 2.0 文档。

Vuex 1.0 主要是向下兼容,所以升级只需要很小的改动。推荐拥有大量现存代码库的用户,或只想尽可能平滑升级 Vue 2.0 的用户。这份指南致力促进这一过程,但仅包括迁移说明。完整使用指南请查阅 Vuex 1.0 文档。

带字符串属性路径的 store.watch 替换

store.watch 现在只接受函数。因此,下面例子你需要替换:

store.watch('user.notifications', callback)

为:

store.watch(// 当返回结果改变...function (state) {return state.user.notifications},// 执行回调函数callback
)

这帮助你更加完善的控制那些需要监听的响应式属性。

升级方法

在代码库运行迁移工具,查找在 store.watch 中使用字符串作为第一个参数的事例。

Store 的事件触发器 移除

store 实例不再暴露事件触发器 (event emitter) 接口 (onoffemit)。如果你之前使用 store 作为全局的 event bus,迁移说明相关内容请查阅此章节。

为了替换正在使用观察 store 自身触发事件的这些接口,(例如:store.on('mutation', callback)),我们引入新的方法 store.subscribe。在插件中的典型使用方式如下:

var myPlugin = store => {store.subscribe(function (mutation, state) {// Do something...})
}

更多信息请查阅插件文档的示例。

升级方式

在代码库运行迁移工具,查找使用了 store.onstore.offstore.emit的事例。

中间件 替换

中间件被替换为插件。插件是接收 store 作为仅有参数的基本函数,能够监听 store 中的 mutation 事件:

const myPlugins = store => {store.subscribe('mutation', (mutation, state) => {// Do something...})
}

更多详情,请查阅 插件文档。

升级方法

在代码库运行迁移工具,查找使用了 middlewares 选项的事例。

from: https://cn.vuejs.org/v2/guide/migration-vuex.html

从 Vuex 0.6.x 迁移到 1.0相关推荐

  1. Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项(转)

    Djang1.8+Python2.0迁移到Django2.0+Python3.6注意事项 参考:https://blog.csdn.net/weixin_40475396/article/detail ...

  2. mysql为什么直接8.0_为什么要迁移到MySQL8.0?

    原标题:为什么要迁移到MySQL8.0? 来自公众号:老叶茶馆,作者:lefred,翻译:徐晨亮 原文链接:https://lefred.be/content/replace-mariadb-10-3 ...

  3. tensorflow1.0代码迁移到2.0官方指导

    https://www.tensorflow.org/guide/migrate 解决源代码中tensorflow版本过低问题(tensorflow1.x代码迁移到2.0) 原创风一样的rain 最后 ...

  4. Vue.js 从 Vue Router 0.7.x 迁移

    从 Vue Router 0.7.x 迁移 只有 Vue Router 2 是与 Vue 2 相互兼容的,所以如果你更新了 Vue ,你也需要更新 Vue Router .这也是我们在主文档中将迁移路 ...

  5. oracle修改10到20,Oracle 10.2.0.5 RMAN迁移并升级11.2.0.4一例

    一.环境介绍 1. 源数据库环境 操作系统版本: OEL 5.4 x64 数据库版本  : 10.2.0.5 x64 数据库sid名 : orcl Oracle 10g 10.2.0.5(64bit) ...

  6. 迁移至Android3.0遇到一些问题

    一.AS3.0新增功能 此处略(自行Google ) 官方文档 二.迁移后速度对比 gradle2.2 gradle3.0 首次 770s 260s 修改代码(一行) 291s 123s 修改代码(一 ...

  7. mysql8如何迁移_mysql8.0.11数据目录迁移的实现

    mysql的存储目录默认是在/var/lib/mysql/,下面将修改默认存储目录. 本文使用mysql8.0.11版本,与mysql8.0.20版本不同, 8.0.20版本的数据迁移请看另一篇博客 ...

  8. mongodb从2.6迁移到3.0过程

    首发于 搞起博客 总共有这么几个问题需要解决: 1. mongodb3.0版本的二进制包 1. wiredTiger引擎的配置 1. 数据的迁移 1. 权限 mongodb3.0的二进制包 这个就不用 ...

  9. 【MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记】

    MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录-1 - likingzi - 博客园 MySQL5.7版本单节点大数据量迁移到PXC8.0版本集群全记录-2 - likingzi ...

最新文章

  1. app息屏后ajax请求不执行_息屏时钟app下载-息屏时钟软件下载v1.0 安卓版
  2. android面试题之一
  3. 提取IPv6地址的编码信息
  4. 清北学堂培训2019.4.4
  5. 堂堂小米手表竟比不上小天才电话手表?不支持视频和拍照...
  6. 水面反光如何拍摄_拍照反光太难看?这八个办法值得一试!
  7. checking for spandsp >= 3.0... configure: error: no usable spandsp; please install spandsp3 devel pa
  8. Oracle 数据库迁移
  9. 站在思想层面看MVX架构
  10. suger BI 创建任务
  11. 面试云计算工程师岗位经常被问到的40个问题
  12. python比较重要的模块_python中重要的模块--asyncio 转载
  13. Linux中如何切换中文英文
  14. 2. 信息系统的项目管理基础
  15. 算法实践:武士风度的牛
  16. 5G基站天线面临的电磁兼容问题及对策
  17. 资本主义反抗指南精要(v0.1)
  18. 案例分享-智慧景区智能管控系统
  19. 人生中第一个自制游戏
  20. 2.配置git环境与项目创建

热门文章

  1. 【项目实战】多场景下的图表可视化表达
  2. Swagger UI
  3. on 和where条件的放置详解
  4. on条件与where条件的区别
  5. 三天竟然爆发两起大漏洞事件!我们来教你如何跳过以太坊的坑
  6. 小米宋强:生态化大数据平台的深度应用实践
  7. 288家众筹平台正常运营 43家停运或倒闭
  8. 一个19岁美国少年眼中的各种社交应用
  9. 白话Elasticsearch26-深度探秘搜索技术之function_score自定义相关度分数算法
  10. Redis-04Redis数据结构--哈希hash