Vuex
E_li_na
这个作者很懒,什么都没留下…
展开
-
Vuex里的Getter
1.如何定义GetterVuex允许我们在store中定义getter,(可以认为是store的计算属性)。getter的返回值会根据他的依赖被缓存起来,只有它的依赖发生了改变,才会被重新计算。const store=new Vuex.Store({ state:{ todos:[ { id:1,text:'1w',done:true }, { id:2,text:'1...原创 2018-05-09 11:27:47 · 3721 阅读 · 0 评论 -
Vuex之Action
Action于Mutation不同的是 - Action可以提交任意异步操作,Mutation只能提交同步操作。 - Action提交的是mutation,而不是直接变更状态 为什么已经有了mutation还要有action呢!原因就是异步操作哈!想同步就同步,想异步就异步,但是,Action通常是异步的哈!1.注册下面是一个简单的action的注册const store=new...原创 2018-05-09 16:55:17 · 434 阅读 · 0 评论 -
Vuex之Module(一)
Vuex允许将store分割成模块,因为当使用单一状态树的时候,应用的所有状态集中到一个比较大的对象,导致store对象相当臃肿。分割后的每个模块拥有自己的state、mutation、action、getter,甚至是嵌套子模块。//定义两个store的子模块const moduleA={ state:{...}, mutations:{...}, actions:{...},...原创 2018-05-10 09:11:55 · 258 阅读 · 0 评论 -
Vuex之插件
Vuex需要遵守的规则1.应用层级的状态应该集中到单个store对象 2.提交mutation是更改状态的唯一方法,并且这个过程是同步的。 3.异步逻辑都应该封装到action里面。项目结构如果你的store文件太大,只需将action、mutation、getter分割到单独的文件。├── index.html ├── main.js ├── api │ └──...原创 2018-05-10 10:25:44 · 1996 阅读 · 1 评论 -
Vuex之严格模式
仅需在创建store时传入strict:trueconst store= new Vuex.Store({ strict:true})严格模式下,不是有mutation函数引起的状态变化都会抛出错误。这保证了状态变更都能被调试工具跟踪到。 不要再发布环境下启用严格模式,严格模式会深度监测状态树来检测不合规的状态变化,请确保发布环境下关闭严格模式,以避免性能损失。类似于插件,我...原创 2018-05-10 10:46:22 · 2097 阅读 · 0 评论 -
Vuex之热重载
所谓热重载就是页面每次改动,不需要手动去刷新,可自动刷新。 使用webpack的Hot Module Replacement API,Vuex支持开发过程中热重载mutation、module、action、getter。import Vue from 'vuex'import Vuex from 'vuex'import mutations from './mutations'i...原创 2018-05-10 15:39:48 · 4436 阅读 · 1 评论 -
Vuex之表单处理
表单的v-model属性值是Vuex的state时,如果时严格模式,因为用户输入时,v-model会试图修改v-model的值,由于修改并非mutation执行的,严格模式下会抛出错误。参考这里 针对这种情况,有两个处理方法:一个是双向绑定的计算属性,一个是给表单绑定value,然后侦听input或change事件,在事件中调用action。第一个方法:保留v-model,双向绑定<...原创 2018-05-10 11:07:22 · 1520 阅读 · 0 评论