非常教程

Vue 2参考手册

指南 | Guide

29. Migration from Vuex 0.6.x to 1.0(从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 1.0大多是向后兼容的,所以升级需要很少的更改。推荐用于那些拥有大量现有代码库或想要最平稳升级到Vue 2.0的用户。本指南致力于促进这一过程,但仅包括迁移说明。有关完整的使用指南,请参阅Vuex 1.0文档。

store.watch 用String属性路径替换

store.watch现在只接受功能。例如,你将不得不取代:

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

有:

store.watch(
  // When the returned result changes...
  function (state) {
    return state.user.notifications
  },
  // Run this callback
  callback
)

这使您可以更全面地控制您希望观看的反应性属性。

升级路径

在您的代码库上运行迁移助手以查找store.watch以字符串作为第一个参数的示例。

Store的事件发射器已移除

该store实例不再公开事件发射器接口(onoffemit)。如果您之前将商店用作全局事件总线,请参阅此部分以获取迁移说明。

而不是使用这个接口来观察商店本身发出的事件(例如store.on('mutation', callback)),store.subscribe引入了一种新方法。插件内的典型用法是:

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

有关更多信息,请参阅插件文档示例。

升级路径

运行迁移助手在你的代码库找到store.onstore.offstore.emit的例子。

Middlewares取代

中间件被插件取代。插件是一个接收商店作为唯一参数的函数,并且可以监听存储器中的突变事件:

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

有关更多详细信息,请参阅插件文档。

升级路径

在代码库上运行迁移助手以查找middlewares商店中的选项示例。

Vue 2

Vue.js 是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

主页 https://vuejs.org/
源码 https://github.com/vuejs/vue
版本 2
发布版本 2.5.2

Vue 2目录