内容简介:这篇文章来自于一位很特别的受邀者:Nicolò Mezzopera,他是Pulilab 网站的开发者,一位真大神。我们去年还一起组织过一场在布达佩斯的关于 Vue.js 的线下交流会!如果你今年 4 月 12 号刚好就在维罗纳,他刚好会在Vue Day Italy 2019 会上发表演讲,这是你偶遇他的好机会哦 :wink:。介绍完了作者,我们来进入主题。
这篇文章来自于一位很特别的受邀者:Nicolò Mezzopera,他是Pulilab 网站的开发者,一位真大神。我们去年还一起组织过一场在布达佩斯的关于 Vue.js 的线下交流会!
如果你今年 4 月 12 号刚好就在维罗纳,他刚好会在Vue Day Italy 2019 会上发表演讲,这是你偶遇他的好机会哦 :wink:。
介绍完了作者,我们来进入主题。
当在我们 Vue.js 的组件中使用了 Vuex,除了映射功能的函数之外,我们好像忘记了它所暴露出来的其他有用的 API。
我们一起来看看可以利用它来干些什么。首先,还是先来创建一个基本的 store:
const store = new Vuex.Store({ state: { count: 0 }, getters: { getCountPlusOne: state => state.count + 1 }, mutations: { increment(state) { state.count++; } } }); 复制代码
Watch 方法
watch
是将 Vuex 与其他外部代码整合的最有用的方法,可以在你的 awesomeService
或者是在 catchAllAuthUtils
等等类似的服务中使用。
使用示例:
const unsubscribe = store.watch( (state, getters) => { return [state.count, getters.getCountPlusOne]; }, watched => { console.log("Count is:", watched[0]); console.log("Count plus one is:", watched[1]); }, {} ); // To unsubscribe: unsubscribe(); 复制代码
我们所做的就是在调用 vuex 的实例方法 watch
时,传入两个函数作为实参,第一个函数实参返回我们想要在 state 与/或 getters 上监听的属性;第二个函数实参是当属性值 state.count
或 getters.getCountPlusOne
有改变时,调用的回调函数。
这是用来结合 Vuex 与 react 或者 angular 甚至是 JQuery 代码时,非常有用的技巧。
可以在这个CodeSandbox 上查看例子。
SubscribeAction 方法
有时候,与其监听 store 中的一个属性改变,不如使用 subscribeAction
方法订阅一个特定的 action,比如像 login
和 logout
之类的异步请求,这也是更有用的方案。
调用监听函数,在每一个 action 分发的时候调用指定的回调函数,并在其中调用自定义代码。
我们在每一个 action 的分发前以及完成后,来分别开始和停止全局的 spinner。
const unsubscribe = store.subscribeAction({ before: (action, state) => { startBigLoadingSpinner(); }, after: (action, state) => { stoptBigLoadingSpinner(); } }); // To unsubscribe: unsubscribe(); 复制代码
讲完啦!
你可以在线阅读这篇原文,里面有可供复制粘贴的源代码。如果你喜欢这个系列的话,请分享给你的同事们!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Linux 内核的核心维护者表示鲜有手机供应商更新内核
- 如何在Hibernate/JPA中配置具有两个连接池的两个数据源
- 如何合并两个 TensorFlow 模型
- 关于sqlmap的两个小坑
- JS计算两个时间间隔
- 昨天 GitHub 挂了两个小时
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
基于MVC的JavaScript Web富应用开发
麦卡劳(Alex MacCaw) / 李晶、张散集 / 电子工业出版社 / 2012-5 / 59.00元
《JavaScript Web 富应用开发》Developing JavaScript Web Applications是 Alex MacCaw 的新作(由O'Reilly出版发行),本书系统而深入的讲解了如何使用最前沿的Web技术构建下一代互联网富应用程序。作者 Alex MacCaw 是一名Ruby/JavaScript 程序员,在开源社区中很有名望,是Spine框架的作者,同时活跃在纽约、......一起来看看 《基于MVC的JavaScript Web富应用开发》 这本书的介绍吧!