Mutations perform synchronous modifications to the state, but when it comes to make an asynchronous operation, they become useless. Actions are a higher layer on the Vuex pattern, which allow to call mutations asynchronously or even call multiple mut…
先看看 async/await 的语法 async 函数返回一个 Promise 对象 async 函数内部 return 返回的值.会成为 then 方法回调函数的参数. 1 2 3 4 async function  f() {     return 'hello world' }; f().then( (v) => console.log(v)) // hello world 如果 async 函数内部抛出异常,则会导致返回的 Promise 对象状态变为 reject 状态.抛出的错误而…
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态.简单的说就是data中需要共用的属性. 使用Vue开发项目时,通常我们就会遇到如下几种棘手的问题: 问题1:通过路由传递参数,我们会采用params或者query形式,但这两种方式都会在URL上做手脚,如果传递的参数过多,会导致400 Bad Request…
极简版vuex代码 class KVuex { constructor (options) { this.state = options.state this.mutations = options.mutations this.actions = options.actions // 借用vue本身的响应式的通知机制 // state 会将需要的依赖收集在 Dep 中 this._vm = new KVue({ data: { $state: this.state } }) } commit…
前言 当一个组件要获取多个 state 的时候,声明计算属性就会变得重复和冗余了.我们可以使用到辅助函数 mapState 来更快更简洁地生成计算属性. 所以我们得清楚,mapState 的作用就是帮我们把一个对象或数组里的值转化成计算属性的写法.同理,其它的辅助函数也是大同小异,只要知道了 mapState 的实现,其它的也基本都明白了. 注:本次阅读的是 vuex 的 2.0.0 版本,源码请戳 这里. 准备 解读前,我们需要熟悉一些方法的使用: Array.isArray() Array.…
Use watchers to keep an eye on your data. Watchers are methods that are invoked when the specified attribute changes. They are useful when you want to perform asynchronous operations in response to changing data. <template> <section class="c…
Vue watchers allow to perform async updates as a side effect of a property change. This lesson shows you how you can watch properties on your class based component and how to use the @Watch decorator for it. <template> <div class="hello"…
vuex是解决vue组件和组件件相互通信而存在的,vue理解起来稍微复杂但一旦看懂择即为好用 安装: npm install --save vuex 引入 import Vuex from 'vuex' import Vue from 'vue' Vue.use(Vuex) vuex的几个参数的介绍 State          储存初始化数据 Getters        处理State 里面的数据二次处理(对数据进行过滤类似filter的作用)比如State返回的为一个对象,我们想取对象中一…
Vuex 笔记 一个简单的状态管理 单一数据源: const sourceOfTruth = {} const vmA = new Vue({ data: sourceOfTruth }) const vmB = new Vue({ data: sourceOfTruth }) 每当 sourceOfTruth 发生变化, vmA 和 vmB 都会自动更新它们的视图. 子组件可以通过 this.$root.$data 访问数据. 现在我们有了单一的数据源, 但是调试会很困难. 因为无论何时数据源…
安装 直接下载CDN 引用 <script src="/path/to/vue.js"></script> <script src="/path/to/vuex.js"></script> npm npm install vuex --save 在一个模块化的打包系统中,您必须显式地通过Vue.use() 来安装Vuex. import Vue from 'vue' import Vuex from 'vuex' Vu…