vue x 状态管理

1:创建store/index

复制代码
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const state = {
  // 全局数据对象(存储在state内)
  headerTitle: '爱智住Ai'
}
// 同步方法,最终修改全局对象数据
const mutations = {
  headerTitle(state, newVal) {
    state.headerTitle = newVal
  }
}
// 可编写异步方法,写一些相关逻辑,调用mutations方法修改全局对象数据
const actions = {
  headerTitle(state, newVal) {
    state.commit('headerTitle', newVal)
  }
}

export default new Vuex.Store({
  state,
  mutations,
  actions
})

2:main.js 引入挂载

复制代码
import store from './store'
new Vue({
  el: '#app',
  router,
  store,
  r

ender: h => h(App)

})

3:获取状态

复制代码
this.$store.state.headerTitle

4:修改状态

4.1组件方法触发 (dispatch)-> 指派store的actions执行方法 (commit)-> 提交至mutations执行(修改全局值)

复制代码
this.$store.dispatch('headerTitle', '登录')

4.2   组件中的方法直接来commit提交让store里的mutations方法执行

```
        this.$store.commit("headerTitle", '登录);
```
相关推荐
爬坑的小白12 分钟前
vue 2.0 路由跳转时新开tab
前端·javascript·vue.js
凌览27 分钟前
一键去水印|5 款免费小红书解析工具推荐
前端·javascript·后端
有意义27 分钟前
栈数据结构全解析:从实现原理到 LeetCode 实战
javascript·算法·编程语言
lichong95131 分钟前
鸿蒙 web组件开发
前端·typescript
1024小神32 分钟前
在html中使用js动态交换两个元素的位置
前端
鹿鹿鹿鹿isNotDefined33 分钟前
逐步手写,实现符合 Promise A+ 规范的 Promise
前端·javascript·算法
一千柯橘33 分钟前
Electron - IPC 解决主进程和渲染进程之间的通信
前端
申阳33 分钟前
Day 16:02. 基于 Tauri 2.0 开发后台管理系统-项目初始化配置
前端·后端·程序员
老前端的功夫36 分钟前
HTTP 协议演进深度解析:从 1.0 到 2.0 的性能革命
前端·网络·网络协议·http·前端框架