vuex的基础

vuex的简介

官方定义

Vuex是一个专门为Vue.js应用程序开的状态管理模式

它采用集中式存储管理应用的所有组件的状态

并以相应的规则保证以一种可预测的方式发生变化

应用场景

多个视图依赖同一状态

来自不同视图的行为需要改变同一个状态

Vuex的组成介绍

State --- 数据仓库

getter --- 用来获取数据的

Mutation --- 用来修改数据的

Action --- 用来提交mutation

安装Vuex

安装vuex包:npm install vuex

创建vuex实例:new Vuex.store()

main.js中将vuex实例挂载到vue对象上

实战vuex 实现count++ 基本demo

state中创建count字段

muntation中创建一个count++的mutation

button新增click事件触发mutation改变count

<template>
  <div id="app">
    <!-- <img alt="Vue logo" src="./assets/logo.png">
    <HelloWorld msg="Welcome to Your Vue.js App"/> -->
    <h1>count:{{count}}</h1>
    <button @click="countIncrease">点我</button>
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
  name: 'app',
  components: {
    HelloWorld
  },
  computed:{
    count() {
      return this.$store.state.count;
    }
  },
  methods:{
    countIncrease() {
      const v = 100
      this.$store.commit('countIncrease',v)
    }
  }
}
</script>
import Vue from 'vue'
import App from './App.vue'
import Vuex from 'vuex'

Vue.config.productionTip = false
Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations:{
    countIncrease(state,v){
      state.count  = v
    }
  }
})

new Vue({
  store,
  render: h => h(App),
}).$mount('#app')

案例讲解(业务目标)

制作一个需要账号登录的课程学习项目

不同的课程需要不同的会员等级,实现购买会员功能,课程分享

功能

通过state.userInfo控制用户登录路由限制

多组件共享state.userStatus和state.vipLeve状态

多组件修改state.userStatus和state.vipLevel

image.png

image.png

image.png

image.png

结构方法

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 vuex在vuejs构建大型项目的时候,是必不可少的。网上对他的介绍很多,官网介绍的也很详细。但是自己还是想...
    刈懋阅读 530评论 4 1
  • 安装 npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.u...
    萧玄辞阅读 2,962评论 0 7
  • Vuex是什么? Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件...
    萧玄辞阅读 3,133评论 0 6
  • vuex是一个状态管理模式,通过用户的actions触发事件,然后通过mutations去更改数据(你也可以说状态...
    Ming_Hu阅读 2,036评论 3 3
  • 本次分享了樊登读书会的关于人生效率手册的一本书。人生本来充满着机遇与挑战,风险与机会并存。效率手册这本书以...
    浅草留年阅读 284评论 0 0