「 介绍用途 」
大家知道,Vue2.x之后,Vuex状态管理是必须要掌握的一个技术点,今天北妈先介绍下Vuex是什么,然后在介绍几个封装好的操作本地缓存、状态的几个组件,需要的童鞋赶紧拿走,可能有很多人已经再用了,并不是什么高大上的东西,只是让更多的人能加快开发的效率。
因为还有很多人,在手写一些基本功能的状态,但其实这些组件和功能,社区已经有提供了,比如缓存管理、多个布局的 vue加载效果,本地缓存状态持久化等(其实就是浏览器的 local storage 封装)。
Vuex 是什么?
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化
vuex解决了组件之间共享同一状态的麻烦问题。当我们的应用遇到多个组件共享状态时,会需要:
1. 多个组件依赖于同一状态。传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。这需要你去学习了解下,vue中多个组件之间的通讯是怎么玩的。
2. 来自不同组件的行为需要变更同一状态。我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份共用状态,比如最常见的用户登陆状态,购物车数据等对吧。
以上的这些场景的应用都是非常脆弱和繁琐的,也就是要人肉控制,之前是写到本地缓存或者全局变量,这样通常会导致无法维护的代码。
看看来自Vue官网的一句话:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态
。
现在有了vuex,就组件就都和store通讯,问题就自然解决了,你不用像个保姆一样,来回去更新各个组件的状态。
这就是为什么官网再次会提到Vuex构建大型应用的价值。如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex
。
以上简短介绍下 vuex的重要性和概念,具体怎样,这篇文章不是干这个用的,去看官网或者教程,我后面会出一系列通俗易懂的vue教程系列,在讨论此事。
Vuex 插件推荐
部分参考国外翻译,正文开始
使用 Vuex 来管理 Vue 的状态,有很多好的理由。其中之一就是,通过 Vuex 插件可以非常容易的扩展一些很酷的功能。Vuex 社区中的开发人员已经创建了大量的免费插件供你使用,有许多你能想象的功能,还有一些你可能没有想到的功能。
在一下插件中,将向你展示5个特性,你可以通过 Vuex 插件轻松地添加到下一个项目中。
1、状态持久化
2、同步标签页、窗口
3、语言本地化
4、管理多个加载状态
5、缓存操作
1. 状态持久化
vuex-persistedstate 使用浏览器的本地存储( local storage )对状态( state )进行持久化。这意味着刷新页面或关闭标签页都不会删除你的数据。
一个很好的例子就是购物车:如果用户不小心关闭了一个标签,他们可以重新打开并回到之前页面的状态。
2. 同步标签页、窗口
vuex-shared-mutations 可在不同的标签页之间同步状态。它通过 mutation
将状态储存到本地存储(local storage)来实现。选项卡、窗口中的内容更新时触发储存事件,重新调用 mutation
,从而保持状态同步。
3. 语言本地化
vuex-i18n 允许你轻松地用多种语言存储内容。让你的应用切换语言时更容易。
一个很酷的功能是你可以存储带有标记的字符串,比如"Hello {name}, this is your Vue.js app."
。所有的翻译版本都会在标记的地方使用相同的字符串。
4. 管理多个加载状态
vuex-loading 有助于你管理应用中的多个加载状态。这个插件适用于状态变化频繁且复杂的实时应用程序。
5. 缓存操作
vuex-cache 可以缓存 Vuex 的 action
。例如,如果你从服务器检索数据,这个插件将在第一次调用该 action
时缓存结果,然后在之后的dispatch
中,直接返回缓存的值。必要时清除缓存也很简单。
6.大杀器 vue-devtools
安装地址:
https://chrome.google.com/webstore/search/vue-devtools
~ 不会翻qiang的看我这篇文章推荐
我从不公布的一些秘密插件,请收藏别分享
当我们添加完vue-devtools扩展程序之后,我们在调试vue应用的时候,chrome开发者工具中会看一个vue的一栏,点击之后就可以看见当前页面vue对象的一些信息。
vue-devtools使用起来还是比较简单的,上手非常的容易,主要是几个按钮状态,相信vue全家桶的同学都用过或者了解过,具体怎么用,自己安装完了,一看就会嗯,不要懒!
感兴趣的小伙伴,可以关注公众号【grain先森】,回复关键词 “vue”,获取更多资料,更多关键词玩法期待你的探索~