vue-vuex-getters的基本使用
store对象中getters就类似于计算属性,若想获取state的变量,直接获取即可,但很多时候获取的state变量需要经过一系列的加工或计算才是我们想要的,因此才有了getters,下面演示个最基本的getters使用:
<template> <div> <h2>{{$store.getters.increhun}}</h2> <button @click="addition">counter+1</button> </div> </template> getters: { increhun(state){ return state.counter+100 } }
若是想在getters中的一个方法调用另一个方法,可用参数2,如下:
getters: { increhun(state){ return state.counter+100 }, incretwohun(state,getters){ return getters.increhun + 100 } }
现在有一个新的需求是:调用getters的方法并传入我们的参数,可以用如下的做法:
<template>
<div>
<h2>{{$store.getters.getstusbyage(20)}}</h2>
</div>
</template>
getters: { getstusbyage(state){ //写法一 // return function(age){ // return state.stus.filter(s => s.age>=age) // } //写法二 return age => state.stus.filter(s => s.age>=age) } }
这种方法算是投机取巧了,因为$store.getters.getstusbyage得到一个函数,只不过后面(20)相当于给这个函数参入参数并调用