vuex组件化开发---vuex状态管理库

vuex的核心由以下及部分组成:

1、state:里面就是存放项目中需要多组件共享的状态

2、mutations:就是存放更改state里状态的方法

3、getters:从state中派生出状态,比如将state中的某个状态进行过滤然后获取新的状态

4、actions:是mutations的加强版,塔可以通过commit mutations中的方法来改变状态,最重要的是它可以进行异步操作

5.modules:当用这个容器来装这些状态还是显得混乱的时候,我们就可以把容器分成几块,把状态和管理规则分类来装。这和我们创建js模块是一个目的,让代码结构更清晰。

// 实例化vuex状态库
var vuexStore = new Vuex.Store({
    state:{
        message:'Hello World',
        bookList:[
            {
                name:'javascript权威指南',
                price:100,
                en:'jq'
            },
            {
                name:'angularjs权威指南',
                price:80,
                en:'aq'
            },
            {
                name:'HTTP权威指南',
                price:50,
                en:'hq'
            }
        ]
    },
    mutations:{
        //同步
        showMessage:function(state,data){
            state.message = 'Store mutations changed this words。'+data;
        }
        addBook:function(state,data){
            state.bookList.push(data)
        }
    },
    getters:{
        filterPrice:function(state){
            var narr = [];
            for(var i = 0;i<state.bookList.length;i++){
                state.bookList[i].price<85 ? narr.push(state.bookList[i]) : null;
            }
            return narr;
        }
    },
    actions:{
        //异步操作
        addBook:function(context){
            setTimeout(function(){
                context.commit('addBook',{name:'HTML5权威指南',price:75});
            },2000);
        }
    },
    modules:{
        a:storeA,b:storeB
    }
});

// vue 实例
var vm = new Vue({
  el:'app',
  store:VuexStore,
  methods:{
        showMessage:function(){
      this.$store.commit('showMessage','荷载数据')
    },
        filterList:function(){
            return this.store.getters.filterPrice();
        },
        addBooks:function(){
      this.$store.dispatch('addBook')
    },
  }
});

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值