Skip to content

vue简易store #71

Open
Open
@conan1992

Description

@conan1992

使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了

简单状态管理

  • 新建store.js
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 = ''
  }
}
export default store
  • 在A、B兄弟组件中import store from '@/store.js'
  • 组件数据通过store.state进行绑定
  • 约定:组件不允许直接变更属于 store 实例的 state,而应执行 action(setMessageAction) 来分发 (dispatch) 事件通知 store 去改变;这样约定的好处是,我们能够记录所有 store 中发生的 state 变更

参考

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions