vuex mapState、mapGetters、mapActions、mapMutations的使用

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

export default new Vuex.Store({
  state:{
    data:‘test‘
  },
  getters:{

  },
  mutations:{

  },
  actions:{

  }
})
<template>
  <div id="app">
    {{count}}   //{{data}}
  </div>
</template>
<script>
//想要使用 首先需要按需引入
import {mapState,mapGetters,mapMutations,mapActions} from ‘vuex‘
export default {
  // 通过对象展开运算符将getter混入computed对象中
  computed:{
    //相当于
    // count(){
    //   return this.$store.state.data
    // }    //采用对象方式相当于重命名
    ...mapState({
     count: ‘data‘
    })  //采用数组方式  //...mapState([data])  //可在其他钩子中使用this.data调用  
  }
  //其他mapGetters,mapMutations,mapActions原理一样 } </script> <style> 

</style>

另外mapState通过扩展运算符将store.state.data映射this.count  这个this 很重要,这个映射直接映射到当前Vue的this对象上。

在钩子函数中可直接 this.count调用

原文地址:https://www.cnblogs.com/zjx304/p/9880996.html

时间: 2024-11-07 01:51:34

vuex mapState、mapGetters、mapActions、mapMutations的使用的相关文章

vuex里mapState,mapGetters使用详解

这次给大家带来vuex里mapState,mapGetters使用详解,vuex里mapState,mapGetters使用的注意事项有哪些,下面就是实战案例,一起来看一下. 一.介绍 vuex里面的四大金刚:State, Mutations,Actions,Getters (上次记得关于vuex笔记 http://www.jb51.net/article/138229.htm,是一个简单的应用:这是一些简单的vue的小组件方法: http://www.jb51.net/article/1382

Vuex进阶使用之modules模块化划分、mapState、mapActions辅助函数的使用

注解:vuex是一个很简单.很方便的技术,入门很简单,这里给大家详细介绍下vuex的进阶使用. 一.vuex模块化modules 1.项目根目录新建一个sotre文件夹,在store文件夹内,新建两个文件(一个文件,一个文件夹),一个index.js文件,一个modules文件夹. 目录结构: store index.js    --文件 modules   --文件夹 2.store->index.js import Vue from 'vue' import Vuex from 'vuex'

438 vuex:基本使用,传参,vue和vuex的配合使用,Vue脚手架3,使用Vuex改版 TodoMVC,actions,mapGetters,mapMutations,mapActions

一 .Vuex的介绍 vuex 是什么? 状态管理工具 状态:即数据, 状态管理就是管理组件中的data数据 Vuex 中的状态管理工具, 采用了 集中式 方式统一管理项目中组件之间需要通讯的数据 [共享的数据.] [看图] 如何使用 最佳实践 : 只将组件之间共享的数据放在 vuex 中, 而不是将所有的数据都放在 vuex 中 也就是说: 如果数据只是在组件内部使用的, 这个数据应该放在组件中, 而不要放在 vuex vuex 中的数据也是 响应式 的, 也就是说: 如果一个组件中修改了 v

vuex中的babel编译mapGetters/mapActions报错解决方法

vex使用...mapActions报错解决办法 vuex2增加了mapGetters和mapActions的方法,借助stage2的Object Rest Operator 所在通过 methods:{ ...mapActions([ 'increment' ]) } 酱紫去拿到action.但是我们需要安装babel-preset-stage-2的依赖. 可以使用babel插件, 该插件为 babel-plugin-transform-object-rest-spread 使用方法: npm

vuex中的辅助函数mapMutations详细解析

mapMutations是vuex的mutation的辅助函数,用于在组件中映射mutation内的方法,以便在该组件中直接使用mutation里的方法 (说白了,就是一语法糖) 1.在组件中导入vuex中的mapMutations: import { mapMutations } from 'vuex' 2.在组件中导入mutation里的方法名: ...mapMutations([ //使用es6的拓展运算符 'INCREASE_SHOPCART', 'DECREASE_SHOPCART'

vuex2中使用mapGetters/mapActions报错解决方法

解决方案 可以安装整个stage2的预置器或者安装 Object Rest Operator 的babel插件 babel-plugin-transform-object-rest-spread . 接着在babel的配置文件 .babelrc 中应用插件: { "presets": [ ["es2015", { "modules": false }] ], "plugins": ["transform-object

vuejs + vuex

vuejs 的数据是双向绑定的,而这些数据只是在父组件中,如果各个组件公用的数据就要通过一个容器去管理起来, vuex是不错的选择, 今天看了下vuex的教程: 总结下遇到的问题: vue-cli 了一个项目 import的时候发现了报错:node的版本太低,升级版本就好了. import { mapState, mapActions, mapGetters, map } from "vuex";//注意大括号. https://github.com/lin-xin/notepad/

15.vue动画&amp; vuex

Vue.config.productionTip = false; ==是否显示提示信息== ==import/export== export xxx 必须跟跟对象或者和定义一起 对象: export {xxxx} 定义:?export let a = xxx; ??? export function(){} --------------------------------- 引入: import modA from "./a" 错误 import {a} from "./a

vue + ts Vuex篇

Vuex对Typescript的支持,仍十分薄弱,官方库只是添加了一些.d.ts声明文件,并没有像vue 2.5这样内置支持. 第三方衍生库 vuex-typescript, vuex-ts-decorators, vuex-typex, vuex-class等等,我个人的总结,除了vuex-class外,基本都存在侵入性太强的问题,引用不算友好.而vuex-class提供的功能其实也是薄薄一层,并不能解决核心痛点.因此,需要手动添加辅助的地方,其实颇多. 核心痛点:每次调用 this.$sto