美文网首页
vue.js---前端状态管理

vue.js---前端状态管理

作者: 学的会的前端 | 来源:发表于2019-08-14 13:01 被阅读0次

Vuex之store

  • 作用: 用来管理状态,共享数据,在各个组件之间管理外部状态

  • 如何使用?
    安装

npm install vuex

第一步:引入vuex,并通过use方法使用它

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

第二步: 创建状态仓库

//定义咋main.js
//创建状态仓库,注意Store,state不能改
var store = new Vuex.Store({
  state:{
    XXX:xxx
  }
})
//直接通过this.$sore.state.XXX拿到全局状态

第三步:通过this.$sore.state.XXX直接拿到需要的数据

Vuex的相关操作

  • vuex状态管理的流程:
    view———­>actions———–>mutations—–>state————­>view
    同步操作:actions是可有可无的。
    异步操作:actions是必须的。

  • 改变状态:

  1. 方法1
//创建状态仓库,注意Store,state不能改
var store = new Vuex.Store({
  state:{
    XXX:xxx
  },
  mutations:{
  //改变状态
  }
})
this.$store.commit(XXX);
此处的XXX是你在mucations中定义的方法名


//具体代码实现

var store = new Vuex.Store({
  state: {
    num: 88
  },
  mutations: {
    //定义状态改变函数
    increase:function(state){
      state.num ++;
    },
    //ES6写法
    decrease(state){
      state.num --;
    }
  }
})
  1. 方法2
    注意:actions提交的是mutation,而不是直接变更状态
    actions可以包含异步操作,但是mutation只能包含同步操作
var store = new Vuex.Store({
  state:{
    XXX:xxx
  },
  mucations:{
    a:function(state){
    }    
  },
  actions:{
    //context上下文对象
    b:function(context){
    //commit中的参数只能是mucations中的函数
    //因为actions只能对mucations进行操作。
    //方法必须现在mucations中定义,才能在actions中起作用
      context.commit('a');
    }
  }
})
如何调用
this.$store.dispatch(XXX);


//具体代码示例:
 actions: {
      //context上下文对象
      decreaseAction: function(context){
        //actions中只能对mutation进行操作
        context.commit('decrease')
      }
    },
getters:{
  //对状态进行处理
}
//获取数据
this.$store.getters.getCount

//具体代码示例
getters: {
      //很多时候是从getters中定义的方法获取状态
      getNum(state){
        return state.num > 0 ? state.num : 0
      }
    }

相关文章

  • vue.js---前端状态管理

    Vuex之store 作用: 用来管理状态,共享数据,在各个组件之间管理外部状态 如何使用?安装 第一步:引入vu...

  • 对前端状态管理的个人理解

    前端状态管理请三思 在这篇文章中提到了前端状态管理的一种思路,也就是使用有限状态自动机来管理前端状态。初读时我没有...

  • 前端的状态管理

    http://blog.csdn.net/hj7jay/article/details/54340672ajax的...

  • Web前端状态管理

    前端状态管理是很多流行框架统一在做的事,翻开官方文档都有相关的介绍。React框架有Redux,Vue框架有Vue...

  • Graphql前端状态管理

    Graphql & Apollo 下图是2018年前端data layer工具的趋势图。我曾经在某一期博客提到过这...

  • 技术栈

    前端:react样式:css in js状态管理:dvaAPI查询:ApolloAPI开发:strapinosql...

  • ReactJs小书笔记(二)

    ReactJs小书笔记(二) ReactJs小书官方文档:传送门 17 前端应用状态管理——状态提升 概念:当平级...

  • React.js 小书 Lesson17 - 前端应用状态管理

    React.js 小书 Lesson17 - 前端应用状态管理 —— 状态提升 本文作者:胡子大哈本文原文:htt...

  • 前端小知识点(一)

    目录 一、JSX 本质 二、前端三大框架 三、React 全家桶 四、前端为何需要状态管理库(Flux 或redu...

  • router(History,hash)前端路由机制

    前端路由机制前端路由,顾名思义就是一个前端不同页面的状态管理器,可以不向后台发送请求而直接通过前端技术实现多个页面...

网友评论

      本文标题:vue.js---前端状态管理

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