博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简易的vuex用法
阅读量:6167 次
发布时间:2019-06-21

本文共 1567 字,大约阅读时间需要 5 分钟。

vuex是vue中用于管理全局状态的一个组件,用于不同组件之间的通信,下面将介绍它的简单用法

首先安装vue与vuex

npm install vuenpm install vuex --save

然后创建一个单独的文件store.vue用来对vuex的处理和使用

import vue from 'vue'import vuex from 'vuex'vue.use(vuex)

vuex有以下几种选项

  • state: Vuex store 实例的根 state 对象
  • mutations: 在 store 上注册 mutation,处理函数总是接受 state 作为第一个参数(如果定义在模块中,则为模块的局部状态),payload 作为第二个参数(可选)。
  • actions: 在 store 上注册 action。处理函数总是接受 context 作为第一个参数,payload 作为第二个参数(可选)。
  • getters: Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。
  • modules: 包含了子模块的对象,会被合并到 store。
  • plugins: 一个数组,包含应用在 store 上的插件方法。
  • strict: 使 Vuex store 进入严格模式,在严格模式下,任何 mutation 处理函数以外修改 Vuex state 都会抛出错误。
 
我们今天只用到state,mutations,actions,getters
const state = {    token: '' // 定义state的初始值,组建中我们可以用$store.state.token来调用}
const mutations = {  setToken (state, token) {    state.token = token || ''  }}

我们可以用$store.commit('setToken', 'xxxxxx')来改变state中token的值

const actions = {  setToken (context) {//这里的context和我们使用的$store拥有相同的对象和方法    context.commit('setToken');    //你还可以在这里触发其他的mutations方法  },}

可以使用 $store.dispatch('setToken') 来触发 action 中的 setToken方法。actions里面可以执行异步操作。

getters: {    doneTodos: (state, getters) => {      return state.todos.filter(todo => todo.done)    }  }

getters类似于vue的计算属性,它的作用是用来派生一些新的状态,比如我们要把state状态的数据进行一次映射后者筛选,并把这个状态返回给组件使用。

最后将生成的实例导进main.js

export default new Vuex.Store({  state,  mutations,  actions,   getters })

main.js

import store from './store'new Vue({  el: '#app',  store,  components: { App },  template: '
'})

这样vuex的功能已经可以用了,如果业务需要,可以慢慢将它们的选项都完善进去

每一次的记录,都是向前迈进的一步

转载地址:http://fyyba.baihongyu.com/

你可能感兴趣的文章
免费下载!业界首部安卓热修复宝典出炉,阿里技术大牛联袂推荐
查看>>
OpenID 关联认证提供 CoreOS dex
查看>>
《Node.js区块链开发》一2.2 信用,决定着利益转移的方向
查看>>
Speedy:来自京东的 Docker 镜像存储系统
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>
盗版用户无权指责微软“不负责任”
查看>>
Google 通知:Android 通知中心风格必须统一
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>
IBM Watson 进入癌症基因组分析市场
查看>>
在 Linux 中查看你的时区
查看>>
Linux集群和自动化维1.6 小结
查看>>
6月12日云栖精选夜读:【干货】iOS 11 短信拦截功能初探
查看>>
《OpenACC并行编程实战》—— 第1章 并行编程概览 1.1 加速器产品
查看>>
《编写可维护的JavaScript》——2.4 文档注释
查看>>
移动App性能测评与优化1.3.1 Dalvik Heap内部机制
查看>>
《C和C++代码精粹》——2.6 const指针
查看>>
《JavaScript机器人编程指南》——1.5 搭建开发环境
查看>>
《Google软件测试之道》—第2章2.4节与工具开发工程师Ted Mao的访谈
查看>>
《Python树莓派编程》——1.5 连接外围设备
查看>>
《嵌入式Linux与物联网软件开发——C语言内核深度解析》一1.3 位、字节、半字、字的概念和内存位宽...
查看>>