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的所有属性.方法.事件,而无需关注 ...
随机推荐
- Redis 实现安全队列
Redis的列表数据结构可以让我们方便的实现消息队列 例如用 LPUSH(BLPUSH)把消息入队,用 RPOP(BRPOP)获取消息 绝大部分的情况下,这些操作都是没问题的,但并不能保证绝对安全 当 ...
- i春秋-百度杯十月场-fuzzing
1. 打开链接,提示 show me key,抓包,传值key=1,GET请求没有用,而POST请求有返回. 2.将md5值直接拿去解密,得到key=ichunqiu105 OK,进入下一步. ...
- UIWindow 官方文档解析
UIWindow定义了一个window对象,其用于管理和协调一个app在设备屏幕上的显示.除非一个app能在外部设备上显示内容,一般就只有一个window. window的主要功能:1)提供一个区域来 ...
- IntelliJ IDEA(一) :安装与破解
前言 我是从eclipse转IDEA的,对于习惯了eclipse快捷键的我来说,转IDEA开始很不习惯,IDEA快捷键多,组合多,记不住,虽然可以设置使用eclipse的快捷键,但是总感觉怪怪的.开始 ...
- 小程序解决方案 Westore - 组件、纯组件、插件开发
数据流转 先上一张图看清 Westore 怎么解决小程序数据难以管理和维护的问题: 非纯组件的话,可以直接省去 triggerEvent 的过程,直接修改 store.data 并且 update,形 ...
- 来自后端的突袭? --开包即食的教程带你浅尝最新开源的C# Web引擎 Blazor
在今年年初, 恰逢新春佳节临近的时候. 微软给全球的C#开发者们, 着实的送上了一分惊喜. 微软正式开源Blazor ,将.NET带回到浏览器. 这个小惊喜, 迅速的在dotnet开发者中间传开了. ...
- ubuntu 添加开机启动服务
新建umpserver.service [Unit] Description=UMPServer After=syslog.target network.target remote-fs.target ...
- nodejs源码编译-mipse64el架构
下载nodejs,node-v6.1.0.tar.gz 链接: https://pan.baidu.com/s/1eCtNBWD5yaKiQIHp3pRKew 提取码: faun 注意对应版本的gcc ...
- Python_列表推导式_生成器的表达式_各种推导式_40
列表推导式: #列表推导式: egg_list = [] for i in range(10): egg_list.append('鸡蛋%s'%i) print(egg_list) egon egg_ ...
- H5 文字属性
03-文字属性 我是文字 我是文字 abc我是段落 <!DOCTYPE html> <html lang="en"> <head> <me ...