Vuex的API文档
前面的话
本文将详细介绍Vuex的API文档
概述
- import Vuex from 'vuex'
- const store = new Vuex.Store({ ...options })
【构造器选项】
state
- 类型: Object
Vuex store 实例的根 state 对象
mutations
- 类型: { [type: string]: Function }
在 store 上注册 mutation,处理函数总是接受 state
作为第一个参数(如果定义在模块中,则为模块的局部状态),payload
作为第二个参数(可选)
actions
- 类型: { [type: string]: Function }
在 store 上注册 action。处理函数接受一个 context
对象,包含以下属性:
- {
- state, // 等同于 store.state, 若在模块中则为局部状态
- rootState, // 等同于 store.state, 只存在于模块中
- commit, // 等同于 store.commit
- dispatch, // 等同于 store.dispatch
- getters // 等同于 store.getters
- }
getters
- 类型: { [key: string]: Function }
在 store 上注册 getter,getter 方法接受以下参数:
- state, // 如果在模块中定义则为模块的局部状态
- getters, // 等同于 store.getters
当定义在一个模块里时会特别一些
- state, // 如果在模块中定义则为模块的局部状态
- getters, // 等同于 store.getters
- rootState // 等同于 store.state
- rootGetters // 所有 getters
注册的 getter 暴露为 store.getters
modules
- 类型: Object
包含了子模块的对象,会被合并到 store
- {
- key: {
- state,
- namespaced?,
- mutations,
- actions?,
- getters?,
- modules?
- },
- ...
- }
与根模块的选项一样,每个模块也包含 state
和 mutations
选项。模块的状态使用 key 关联到 store 的根状态。模块的 mutation 和 getter 只会接收 module 的局部状态作为第一个参数,而不是根状态,并且模块 action 的 context.state
同样指向局部状态
plugins
- 类型: Array<Function>
一个数组,包含应用在 store 上的插件方法。这些插件直接接收 store 作为唯一参数,可以监听 mutation(用于外部地数据持久化、记录或调试)或者提交 mutation (用于内部数据,例如 websocket 或 某些观察者)
strict
- 类型: Boolean
- 默认值: false
使 Vuex store 进入严格模式,在严格模式下,任何 mutation 处理函数以外修改 Vuex state 都会抛出错误
实例属性
state
- 类型: Object
根状态,只读
getters
- 类型: Object
暴露出注册的 getter,只读
实例方法
- commit(type: string, payload?: any, options?: Object) | commit(mutation: Object, options?: Object)
提交 mutation。options
里可以有 root: true
,它允许在命名空间模块里提交根的 mutation
- dispatch(type: string, payload?: any, options?: Object) | dispatch(action: Object, options?: Object)
分发 action。options
里可以有 root: true
,它允许在命名空间模块里分发根的 action。返回一个解析所有被触发的 action 处理器的 Promise
- replaceState(state: Object)
替换 store 的根状态,仅用状态合并或时光旅行调试
- watch(getter: Function, cb: Function, options?: Object)
响应式地监测一个 getter 方法的返回值,当值改变时调用回调函数。getter 接收 store 的状态作为唯一参数。接收一个可选的对象参数表示 Vue 的 vm.$watch
方法的参数。
要停止监测,直接调用返回的处理函数
- subscribe(handler: Function)
注册监听 store 的 mutation。handler
会在每个 mutation 完成后调用,接收 mutation 和经过 mutation 后的状态作为参数
- store.subscribe((mutation, state) => {
- console.log(mutation.type)
- console.log(mutation.payload)
- })
通常用于插件
- registerModule(path: string | Array<string>, module: Module)
注册一个动态模块
- unregisterModule(path: string | Array<string>)
卸载一个动态模块
- hotUpdate(newOptions: Object)
热替换新的 action 和 mutation
辅助函数
- mapState(namespace?: string, map: Array<string> | Object): Object
为组件创建计算属性以返回 Vuex store 中的状态。第一个参数是可选的,可以是一个命名空间字符串
- mapGetters(namespace?: string, map: Array<string> | Object): Object
为组件创建计算属性以返回 getter 的返回值。第一个参数是可选的,可以是一个命名空间字符串
- mapActions(namespace?: string, map: Array<string> | Object): Object
创建组件方法分发 action。第一个参数是可选的,可以是一个命名空间字符串
- mapMutations(namespace?: string, map: Array<string> | Object): Object
创建组件方法提交 mutation。第一个参数是可选的,可以是一个命名空间字符串
- createNamespacedHelpers(namespace: string): Object
创建基于命名空间的组件绑定辅助函数。其返回一个包含 mapState
、mapGetters
、mapActions
和 mapMutations
的对象。它们都已经绑定在了给定的命名空间上
Vuex的API文档的更多相关文章
- Java在DOS命令下的运行及其API文档制作过程
该文档主要描述java程序在DOS命令下的运行,以及一些常用的命令 常用DOS命令: d: 回车 盘符切换 dir(directory):列出当前目录下的文件以及文件夹 md (make direct ...
- 在ASP.NET Core Web API上使用Swagger提供API文档
我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...
- 利用sphinx为python项目生成API文档
sphinx可以根据python的注释生成可以查找的api文档,简单记录了下步骤 1:安装 pip install -U Sphinx 2:在需要生成文档的.py文件目录下执行sphinx-apido ...
- 如何使 WebAPI 自动生成漂亮又实用在线API文档
1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...
- Android多媒体--MediaCodec 中文API文档
*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...
- 新手如何查看API文档?
Java API文档为例: 1:知道包名,可以在Overview里直接找到这个包,然后去查这个包下面的类和方法.2:知道类名和方法名,可以在Index.html里直接去找这个类或方法,然后查看.3:如 ...
- Bullet的学习资源(用Doxygen生成API文档)
Bullet 全称 Bullet Physics Library,是著名的开源物理引擎(可用于碰撞检测.刚体模拟.可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路. 看下 ...
- [API]使用Blueprint来高雅的编写接口文档 前后端api文档,移动端api文档
网址:http://apiary.io/ 介绍:一款非常强大的前后端交互api设计编辑工具(编辑器采用Markdown类似的描述标记,非常高效),高颜值的api文档,还能生成多种语言的测试代码. 中文 ...
- jQuery MiniUI开发系列之:使用API文档
jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...
随机推荐
- Scala--模式匹配和样例类
模式匹配应用场景:switch语句,类型查询,析构,样例类 一.更好的switch val ch :Char = '+' val sign = ch match{ case '+' => 1 c ...
- [Spark][Python][DataFrame][RDD]DataFrame中抽取RDD例子
[Spark][Python][DataFrame][RDD]DataFrame中抽取RDD例子 sqlContext = HiveContext(sc) peopleDF = sqlContext. ...
- CC2541之串口调试PM2.5传感器
1. CC2541通过串口和PM25设备PMS7003通信,串口9600波特率,手机APP显示数据一直是128,先检查蓝牙数据通路问题,数据通路没问题 2. 看下串口是否OK,串口也不通,看到宏定义Z ...
- 图解Redis之数据结构篇——链表
前言 Redis链表为双向无环链表! 图解Redis之数据结构篇--简单动态字符串SDS提到Redis使用了简单动态字符串,链表,字典(散列表),跳跃表,整数集合,压缩列表这些数据结构 ...
- web安全:通俗易懂,以实例讲述破解网站的原理及如何进行防护!如何让网站变得更安全。
本篇以我自己的网站为例来通俗易懂的讲述网站的常见漏洞,如何防止网站被入侵,如何让网站更安全. 要想足够安全,首先得知道其中的道理. 本文例子通俗易懂,主要讲述了 各种漏洞 的原理及防护,相比网上其它的 ...
- 异步时代-java的协程路在何方
面试官:你知道协程吗? 你:订机票的那个吗,我常用. 面试官:行,你先回去吧,到时候电话联系 ........ 很尴尬,但是事实是,很大一部分的程序员不知道协程是啥玩意,更大一部分的程序员,项目中没用 ...
- (poj 2253) Frogger 最短路上的最大路段
题目链接:http://poj.org/problem?id=2253 Description Freddy Frog is sitting on a stone in the middle of a ...
- Innodb 实现高并发、redo/undo MVCC原理
一.并发控制 因为并发情况下有可能出现不同线程对同一资源进行变动,所以必须要对并发进行控制以保证数据的同一与安全. 可以参考CPython解释器中的GIL全局解释器锁,所以说python中没有 ...
- js总结:JavaScript入门
1. JavaScript-输出内容(document.write) 2.在html中引用js文件 3.定义变量 语法:var 变量名 说明: ⑴变量必须使用字母.下划线(_)或者美元符($)开始. ...
- 多线程系列之八:Thread-Per-Message模式
一,Thread-Per-Message模式 翻译过来就是 每个消息一个线程.message可以理解为命令,请求.为每一个请求新分配一个线程,由这个线程来执行处理.Thread-Per-Message ...