vuex demo

作者: 爱笑的疯小妞 | 来源:发表于2019-02-26 23:03 被阅读0次

vuex主要应用于Vue.js中管理数据状态的一个库
创建一个集中的数据存储,供程序中所有组件访问

npm install vuex --save
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

export const store=new Vuex.Store({
    //存储某数据
    state:{
        products:[
            {name:'小云',price:200},
            {name:'小红',price:300},
            {name:'晓东',price:240},
            {name:'腊梅',price:100}
                  
          ]
    },
    //获取某数据
    getters:{
        saleProducts:(state)=>{
            var saleProducts=state.products.map(
              product=>{
                 return {
                   name:"**"+product.name+"**",
                   price:product.price/2
                 }
              });
              return saleProducts;
       
        }
    },
    //触发事件更改某数据
    mutations:{
        reducePrice:(state,payload)=>{
            state.products.forEach(
                product=>{
                   product.price-=payload;
            })
        }
    },
    //触发事件异步更改数据/可以传参
    actions:{
        reducePrice:(context,payload)=>{
            setTimeout(() => {
                context.commit("reducePrice",payload);
            }, 2000);
        }
    }

})
 computed:{
    products(){
       return this.$store.state.products;
    },
    saleProducts(){
       return this.$store.getters.saleProducts;
    }
  },
  methods:{
    reducePrice:function(amount){
        //mutations
        //this.$store.commit('reducePrice'); 
        //actions
        this.$store.dispatch('reducePrice',amount)     
    }
  }
}

或者使用
安装"babel-preset-stage-*,配置babel

<script>
import {mapGetters} from 'vuex'
import {mapActions} from 'vuex'
export default {
  computed:{
    products(){
       return this.$store.state.products;
    },
    ...mapGetters(["saleProducts"]),
  },
  methods:{
    ...mapActions(["reducePrice"]),
  }

}
</script>

相关文章

  • vuex demo

    vuex主要应用于Vue.js中管理数据状态的一个库创建一个集中的数据存储,供程序中所有组件访问 或者使用安装"b...

  • vuex 设计

    先来看一下标准的 vuex demo vuex 的状态管理:state => getters => view =>...

  • vuex使用demo

    本文仅用于记录学习过程。由于目前做的项目在公共数据的使用上要求比较低,一般的父子传值就可以解决掉大多数的传值问题。...

  • TypeScript实战04--TS+vue开发todo应用

    简介: 简单的列表修改demo(使用 ts + vuex-class + vue + vue-proper...

  • vuex快速入门

    本文为课程 vuex深入浅出 的学习总结与记录;同时参照了vuex官方文档。文中demo的代码可参考:我的码云 一...

  • 2018-08-04 前端面试100题

    一组 李同学 Vuex的基本使用? demo https://codepen.io/mzrx/pen/ZjRBrz...

  • Vue中Vuex的使用方法技巧

    备注:此案例是用vue脚手架创建的demo 1、首先要知道什么是Vuex? 在Vue官方网站的解释是:Vuex 是...

  • vuex Demo 理解其用法

    1.安装 vuex vuex的使用 state 用来数据共享数据存储 mutation 用来注册改变数据状态 g...

  • vuex-使用小demo

    纯vuetest.vue vuex版本 确定把公共属性是sum index.js test.vue 打印this查...

  • 小结

    项目构建介绍 参考 vuex demo 及 答题重构 Vue 版本建立项目结构 引入 vue-loader 使用 ...

网友评论

      本文标题:vuex demo

      本文链接:https://www.haomeiwen.com/subject/pfvzyqtx.html