vue中getters的用法

vue中getters的用法

store文件夹下的index.js文件:

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

export default new Vuex.Store({
  state: {
    // 数据源
    counter:100,
    students:[
      {id:0,name:'张三',age:80},
      {id:1,name:'李四',age:24},
      {id:2,name:'李亚亚',age:61},
      {id:3,name:'黄五',age:50},
    ]
  },
  getters:{
  //  储存编译后的数据
    more60(state){
      return state.students.filter(s=>s.age>60)
    },
    /**  虽能实现但不是正确写法
    more60length(state){
       return state.students.filter(s=>s.age>60).length
    }
    **/
    more60length(state,getters){
      return getters.more60.length
    },
    moreAge(state){
      return function (age) {
        return state.students.filter(s=>s.age>age)
      }
    }
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  }
})
<template>
    <div>
        <h2>cpn1</h2>
        <h3>{{$store.state.students}}</h3>
        <h2>大于70岁{{more70}}</h2>
        <h1>{{more70[0].age}}</h1>
        <h2>大于60岁{{$store.getters.more60}}</h2>
        <h2>大于60岁有--{{$store.getters.more60length}}--个人</h2>
        //传递参数
        <h2>大于?岁的显示{{$store.getters.moreAge(40)}}</h2>
    </div>
</template>

<script>
    export default {
        name: "Cpn1",
        computed:{
            more70(){
                return this.$store.state.students.filter(s=>s.age>70)
            }
        },
        methods:{
        }
    }
</script>

<style scoped>

</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值