4.vuex学习之getters、mapGetters

gettters可以理解为计算属性

在store.js中

import Vue from ‘vue‘
import Vuex from ‘vuex‘

Vue.use(Vuex)

//访问状态对象
const state = {
    count:1
}

const getters = {
    //vue2.0不要使用箭头函数,getters主要任务就是对状态state对象里面的数据,执行计算后输出
    count:function(state){
            return state.count+=100
    }
}
export default new Vuex.Store({
    state,
    getters
})

App.vue文件中

<template>
  <div id="app">

    <img src="./assets/logo.png">
    <h1>{{ msg}}</h1>
    <!--访问状态对象-->
    <div>{{$store.state.count}}</div>

    <!--getters中获取到的-->    <p>{{count}}</p>
  </div>
</template>

<script>

//vuex提供的辅助函数
import {mapState,mapMutations,mapGetters,mapActions} from ‘vuex‘
export default {
  name: ‘app‘,
  data () {
    return {
      msg: ‘Welcome to Your Vue.js App‘
    }
  },
 computed:{
   count(){
     return this.$store.getters.count
   },
  // ...mapGetters([//使用mapGetters简写
  //   ‘count‘
  // ])
 }
}
</script>

<style>
#app {
  font-family: ‘Avenir‘, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}

h1, h2 {
  font-weight: normal;
}

ul {
  list-style-type: none;
  padding: 0;
}

li {
  display: inline-block;
  margin: 0 10px;
}

a {
  color: #42b983;
}
</style>

原文地址:https://www.cnblogs.com/tw6668/p/9107458.html

时间: 2024-10-11 11:28:23

4.vuex学习之getters、mapGetters的相关文章

vuex学习---getters

vue是一个面向数据,只有一个层:view,在数据传给客户端之前,计算其相关的属性,应该是什么样子,前面有个mapState([])远程加载数据,加载的是一个静态的数据,如果想获取动态的数据,就要用到 getters .官方建议在getter和computed不推荐使用箭头函数. 这个例子依旧沿用了之前vuex学习---简介的模板 1.首先在store.js中 一开始会在页面上显示 :104 常量值4+ getters中的100   ;点击加 会104+ 100+3 ,变成207 :点击减207

vuex学习---state访问状态对象

在vuex学习---vuex简介中已经介绍过vuex的简单使用,在这个例子中,沿用以上的模板,介绍一下state访问状态对象的几种写法: <template> <div id="app"> <div id="appaaa"> <h1>这是vuex的示例</h1> <p>调用仓库常量 {{$store.state.count}}</p> <!-- <p>组件内部cou

vuex学习

A  Vuex就类似一个中间件,在state里面定义了状态的数据,比如state={ count:0 },后期用this.$store.state 获取状态,也可用mapState映射过去 B  在mutations 内部定义了改变这个数据的方法,这是一种同步的事物,可用this.store.commit(mutationName)来触发一个方法,也可用mapMutations C  异步的逻辑封装在actions里面,也可用于改变状态,其实也是通过触发mutations实现的,用this.$s

vuex 学习笔记

1.vuex的简单使用方法 安装: cnpm install vuex --save 使用: (1)新建一个store的文件夹 代码例子: import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state = { count: 0 } const mutations = { increment(state) { state.count ++; } } export default new Vuex.Store({ st

vuex学习之路

Vuex理解 vuex是一个专门为vue.js设计的集中式状态管理架构.状态?把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态.简单的说就是data中需要共用的属性.比如:有几个页面要显示用户名称和用户等级,或者显示用户的地理位置.如果不把这些属性设置为状态,那每个页面遇到后,都会到服务器进行查找计算,返回后再显示.在中大型项目中会有很多共用的数据,所以尤大神给我们提供了vuex. 引入vuex 1.利用npm包管理工具,进行安装 vuex.在控制命令行中输入下边的命令

Vuex之理解Getters的用法

一.什么是getters在介绍state中我们了解到,在Store仓库里,state就是用来存放数据,若是对数据进行处理输出,比如数据要过滤,一般我们可以写到computed中.但是如果很多组件都使用这个过滤后的数据,比如饼状图组件和曲线图组件,我们是否可以把这个数据抽提出来共享?这就是getters存在的意义.我们可以认为,[getters]是store的计算属性. 二.操作 通过属性访问,通过方法访问: 在store\store.js import Vue from 'vue' import

vuex学习总结

State:全局状态 1:通过在根实例中注册 store 选项,该 store 实例会注入到根组件下的所有子组件中,且子组件能通过 this.$store 访问到 而不是在每个vue模块导入inport store 方式 2:mapState 辅助函数帮助我们生成多个计算属性 写法computed:mapState({}) 3:映射的计算属性的名称与 state 的子节点名称相同时,我们也可以给 mapState 传一个字符串数组   computed: mapState([ // 映射 thi

Vuex 学习笔记一

一.定义 Vuex是一个专为Vue.js应用程序开发的状态管理模式. 状态管理模式 简单的demo new Vue({ // state data () { return { count: 0 } }, // view template: ` <div>{{ count }}</div> `, // actions methods: { increment () { this.count++ } } }) state,驱动应用的数据源: view,以声明方式将state映射到视图:

vuex学习---modules

除非是非常大的项目,否则不推荐使用modules. //1定义模块组var moduleA = { state, mutations, actions}; //2声明模块组 modules:{ a:moduleA } //3在App.vue中调用 <p>{{$store.state.a.count}}</p> 1.在retore.js import Vue from 'vue' import Vuex from 'vuex' //使用vuex模块 Vue.use(Vuex); //