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", '登录);
```
相关推荐
@PHARAOH1 小时前
WHAT - NextAuth 权限认证机制
前端·微服务·服务端
掘金一周1 小时前
问卷调查:如果现在收到裁员通知,你手里的现金流能支撑多久? | 沸点周刊6.4
前端·人工智能·后端
wb043072011 小时前
前厅翻修记——从阿明的“8 秒点餐页“,看前端工程化与用户体验的全面升级
前端·架构·ux
riuphan1 小时前
揭秘 JS 类型转换:ToPrimitive 机制的神秘面纱
前端·javascript
用户15447184396311 小时前
从零实现一个vue2项目
vue.js
最爱睡觉睡觉睡觉1 小时前
Flutter ThemeData 主题系统
前端·app
最爱睡觉睡觉睡觉1 小时前
pub.dev 常用包 vs npm 生态对照
前端·app
先吃饱再说1 小时前
从三行代码理解前端的“三权分立”:HTML、CSS、JS 各司其职
前端
biubiubiu_LYQ1 小时前
入门开发者基础篇之CSS浮动布局:一文吃透浮动底层逻辑
前端·css
最爱睡觉睡觉睡觉1 小时前
React Hooks → Flutter 等价写法
前端·app