vuex(篇4)——getters

Store中数据发生变化,Getters的数据也会跟随变化

vue组件中利用storegetter获取state的最新值

const store = new Vuex.Store({
    state: {
        todos: [
            { id: 1, text: '...', done: true },
            { id: 2, text: '...', done: false }
          ]
    },
    getters: {
        doneTodos: state => {
            return state.todos.filter(todo => todo.done)
          },
        doneTodosCount: (state, getters) => {
            return getters.doneTodos.length
          }
    }
})
export default store

vue中调用

方式1:通过属性访问

 <p>{{this.$store.getters.doneTodos}}</p>

方式2:

<p>{{doneTodosCount}}</p>

 computed: {
        doneTodosCount () {
             return this.$store.getters.doneTodosCount
        }
    }

方式3:在组件中,导入mapGetters函数

import  {mapGetters} from 'vuex'
//通过导入的mapGetters函数,将需要的getters函数映射为当前组件的computed方法
 computed: {
        ...mapGetters(['doneTodosCount'])
    }
//使用时,直接调用即可
<p>{{doneTodosCount}}</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值