vuex

作者: 扶光_ | 来源:发表于2022-11-03 10:48 被阅读0次

vuex是组件之间数据共享的,
如数据无论哪个组件都可以用得到
创建vuex会有一个这样的文件夹


vuex的基本使用

import { createStore } from 'vuex'

export default createStore({
 state: {
   //存放数据的
   name:"侯旭",
   age:18
 },
 getters: {
 },
 mutations: {
 },
 actions: {
 },
 modules: {
 }
})

那么我们在各个组件中使用vuex中的数据该怎么获取呢
在组件中用$store.state.数据名

<template>
  <div class="home">
    <img alt="Vue logo" src="../assets/logo.png">
    <HelloWorld msg="Welcome to Your Vue.js App"/>
    {{$store.state.name}}  </div>
</template>

<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'

export default {
  name: 'HomeView',
  components: {
    HelloWorld
  }
}
</script>
vuex

大多数我们使用方法用mapState辅助函数来完成,但要在computed中去使用

为什么要用mapState辅助函数呢,这样用起来特别简便,代替了$store.state这样很长的取值代码

<template>
  <div class="about">
    <h1>This is an about page</h1>
    <h2>{{name}},{{age}}</h2>
  </div>
</template>
<script>
import { mapState } from 'vuex';
export default {
  computed:{
    ...mapState(['name','age'])
  }
  
}
</script>
  • 首先要从vuex中引入mapState
  • 然后用数组引入数据名的格式
  • ...运算符用来拆解数组或对象的括号
mapState

vuex数据更变mutation

更改定义在vuex中的数据就要在mutation选项中去修改数据
在index.js中

mutations: {
    ageAdd(state){
      state.age++
    }
  },

写函数年龄增加的方法
在组件中引入mapMutation

<template>
  <div class="about">
    <h1>This is an about page</h1>
    <h2>{{name}},{{age}}</h2>
    <button @click="ageAdd">单击年纪+1</button>
  </div>
</template>
<script>
import { mapState,mapMutations } from 'vuex';
export default {
  computed:{
    ...mapState(['name','age'])
  },
  methods:{
    ...mapMutations(['ageAdd'])//跟数据的引入方法一样
  }
  
}
</script>
mutation
state: {
    //存放数据的,类似于data
    name:"侯旭",
    age:18
  },
  getters: {
    //类似于computed,处理一些复杂的表达式产生新的数据
  },
  mutations: {//类似于methods
    ageAdd(state){
      state.age++
    }
  },
  actions: {
    //异步的数据更变,不能直接改变数据 在actions里面调用mutations从而改变数据

  },
  modules: {
    //页面比较大的时候,vuex需要分模块的时候
  }

相关文章

  • VUEX基本介绍,包含实战示例及代码(基于Vue2.X)

    VUEX 1 VUEX基本介绍 1.1 官方API 1.2 什么是vuex 1.3 Vuex使用场景 1、Vuex...

  • 【文档笔记】-Vuex

    什么是vuex? vuex文档: https://vuex.vuejs.org/zh/[https://vuex....

  • vuex配置

    vuex配置 目录 vuex的五个核心 配置vuex vuex持久化 一、vuex五个核心概念 State 定义状...

  • Vuex

    安装Vuex cnpm install vuex --save-dev Vuex是什么? 这是[Vuex的官网](...

  • Vuex

    1.Vuex概述 2.Vuex基本使用 3.使用Vuex完成todo案例 1.Vuex概述 Vuex是实现组件全局...

  • vuex

    Vuex介绍: Vuex官网:http://vuex.vuejs.org/ Vuex是实现数据状态管理的技...

  • vuex+axios 的开发流程记录

    相关文档 vuex: https://vuex.vuejs.org/zh/ 是否有必要使用vuex vuex是vu...

  • 2019-06-07

    import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)...

  • 配置 vuex 和 vuex 本地持久化

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

  • vuex

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

网友评论

      本文标题:vuex

      本文链接:https://www.haomeiwen.com/subject/udgstdtx.html