vuex是一个专为vue.js应用程序开发的状态管理模式。vuex解决了组件之间同一状态的共享问题。 当我们的应用遇到多个组件之间的共享问题时会需要 状态管理核心状态管理有5个核心,分别是state、getter、mutation、action以及module。 1.state state为单一状态树,在state中需要定义我们所需要管理的数组、对象、字符串等等,只有在这里定义了, 在vue.js的组件中才能获取你定义的这个对象的状态。 2.简单的 store 模式 var store = { debug: true, state: { message: ‘Hello!‘ }, setMessageAction (newValue) { if (this.debug) console.log(‘setMessageAction triggered with‘, newValue) this.state.message = newValue }, clearMessageAction () { if (this.debug) console.log(‘clearMessageAction triggered‘) this.state.message = ‘‘ } } 所有 store 中 state 的改变,都放置在 store 自身的 action 中去管理。 这种集中式状态管理能够被更容易地理解哪种类型的 mutation 将会发生,以及它们是如何被触发。 当错误出现时,我们现在也会有一个 log 记录 bug 之前发生了什么。 此外,每个实例/组件仍然可以拥有和管理自己的私有状态: var vmA = new Vue({ data: { privateState: {}, sharedState: store.state } }) var vmB = new Vue({ data: { privateState: {}, sharedState: store.state } })
原文地址:https://www.cnblogs.com/edczjw-Edison/p/12421962.html
时间: 2024-10-08 22:02:13