【前端】Vue2全家桶案例《看漫画》之三、引入vuex
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_3.html
项目github地址:https://github.com/shamoyuu/vue-vux-iconan
这一章我们简单地介绍一下vuex,然后引入它做一个简单的功能,后面用到我们再说。
首先,vuex是什么?引用一下官方文档:
“Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。”
好抽象有木有?我第一次看见这句话的时候完全不知道在说什么,可能是我笨o(╥﹏╥)o。
后来懂了才发现其实很简单,我举几个例子解释一下。
1:小张在做个人中心页面,在登录前显示默认的头像和昵称,要求登录后显示用户的头像和昵称。但是登录页与个人中心页不是父子关系,而且有很多渠道可以打开登录页。
2:小李在做悬浮购物车,要求有商品加入后就更新悬浮购物车上显示的数量。但是商品加车可以在很多页面操作,比如列表页,搜索页,详情页,推荐页等等。
3:小王在做设置页,要求在用户绑定/修改手机号后,其他页面同步显示最新的手机号。修改手机号只有一处,但是需要显示手机号的地方却很多。
vuex就是用来解决这样的问题的。虽然不用vuex也可以通过一些其他的方法实现,但是在项目变大后,就越来越难维护了。
简介就到这里,下面我们来实际使用一下。
首先引入vuex
npm install --save-dev vuex
然后新建一个/tool/store/store.js文件,用来保存和获取我们上面说到的“头像昵称”、“购物车商品”、“手机号”
import Vue from 'vue'
import Vuex from 'vuex' Vue.use(Vuex); const state = {
count: ,
author: "静茹♂鱼"
}; const mutations = {
add(state){
state.count += ;
},
reduce(state){
state.count -= ;
}
}; const getters = {
author (state) {
return "❤❤❤" + state.author + "❤❤❤";
}
}; export default new Vuex.Store({
state,
mutations,
getters
});
然后我们新建一个测试文件Test.vue,就简简单单地来测试一下vuex这几个简单的方法。
<template>
<div>
<h1>{{count}}</h1>
<hr>
<button @click="$store.commit('add')">加</button>
<hr>
<button @click="$store.commit('reduce')">减</button>
<hr>
<button @click="foo">查看</button>
<hr> {{author}}
</div>
</template> <script>
import { mapState, mapGetters } from "vuex"; export default {
data() {
return {};
},
methods: {
foo: function() {
console.info(this.$store.state.count);
}
},
mounted: function() {},
computed: {
...mapState(["count"]),
...mapGetters(["author"])
}
};
</script> <style scoped> </style>

点击加减就会操作store里的count数,点击查看就能从js里获取到store的count。而author(或许应该称为getAuthor)就能通过getter的方式获取到store.author。
【前端】Vue2全家桶案例《看漫画》之三、引入vuex的更多相关文章
- 【前端】Vue2全家桶案例《看漫画》之一、添加四个导航页
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_1.html 项目github地址:https://github.com/shamoyuu/ ...
- 【前端】Vue2全家桶案例《看漫画》之番外篇、express上传漫画(可选)
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_extra_1.html 项目github地址:https://github.com/sha ...
- 【前端】Vue2全家桶案例《看漫画》之六、图片阅读页
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_6.html 项目github地址:https://github.com/shamoyuu/ ...
- 【前端】Vue2全家桶案例《看漫画》之四、漫画页
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_4.html 项目github地址:https://github.com/shamoyuu/ ...
- 【前端】Vue2全家桶案例《看漫画》之二、完成首页基本样式
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_2.html 项目github地址:https://github.com/shamoyuu/ ...
- 【前端】Vue2全家桶案例《看漫画》之七、webpack插件开发——自动替换服务器API-URL
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_7.html 项目github地址:https://github.com/shamoyuu/ ...
- 【前端】Vue2全家桶案例《看漫画》之五、引入axios
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_5.html 项目github地址:https://github.com/shamoyuu/ ...
- Vue2全家桶+Element搭建的PC端在线音乐网站
目录 1,前言 2,已有功能 3,使用 4,目录结构 5,页面效果 登录页 首页 排行榜 歌单列表 歌单详情 歌手列表 歌手详情 MV列表 MV详情 搜索页 播放器 1,前言 项目基于Vue2全家桶及 ...
- Vue2全家桶之一:vue-cli(vue脚手架)超详细教程
本文转载于:https://www.jianshu.com/p/32beaca25c0d 都说Vue2简单上手容易,的确,看了官方文档确实觉得上手很快,除了ES6语法和webpack的配置让你感到 ...
随机推荐
- Shell脚本中使用function(函数)示例
这篇文章主要介绍了Shell脚本中使用function(函数)示例,本文着重讲解的是如何在shell脚本中使用自定义函数,并给出了两个例子,需要的朋友可以参考下 函数可以在shell script ...
- jenkins之角色授权[六]
标签(linux): jenkins 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 有时候我们公司里面可能有好几个开发团队,当你做完jenkins后,对于测试环 ...
- KVM虚拟机绑定物理CPU进行性能调优
PS:前提是虚拟cpu总个数不多于物理cpu总个数. 绑定方法: 虚拟机的虚拟cpu有1个,实体机物理cpu有8个,可以通过以下方式绑定cpu,绑定的动作不一定要在虚机启动时,可以在任何时候: 绑 ...
- Python笔记001-----简介及常用的库
1.Python是一种解释性语言,大部分代码要比编译型语言(如C++,java等)运行要慢点多.2.对于高并发,多线程的应用程序而言,Python并不是理想语言,python有全局解释器锁(Globa ...
- python之在线平台与量化投资
0. 第一个量化策略 # 初始化函数,设定基准等等 def initialize(context): set_benchmark('000300.XSHG') g.security = get_ind ...
- mongodb监控常用方法
列举mongodb监控的常用命令 1.监控统计 mongostat 可用于查看当前QPS/内存使用/连接数,以及多个shard的压力分布 命令参考 ./mongostat --port 27071 - ...
- 针对Chrome谷歌等浏览器不再支持showModalDialog的解决方案
最近在维护一个老项目,之前都是用IE来调试代码的.今天想着测试一下项目的兼容性,就用了谷歌浏览器,然后就遇到这样一个问题:一段用showModalDialog实现弹出模态框和返回值的js代码,在调试时 ...
- linux基本语法和常用运维命令
linux上的操作一般是命令行操作,看起来很高大上,让人畏而远之. Help!Help! 忽然间闯入的linux黑黑的世界,怎么办,不要慌.赶紧敲出一个help命令,然后回车,黑色的窗口就会展示一些常 ...
- 分布式唯一id:snowflake算法思考
匠心零度 转载请注明原创出处,谢谢! 缘起 为什么会突然谈到分布式唯一id呢?原因是最近在准备使用RocketMQ,看看官网介绍: 一句话,消息可能会重复,所以消费端需要做幂等.为什么消息会重复后续R ...
- [用CDQ分治解决区间加&区间求和]【习作】
[前言] 作为一个什么数据结构都不会只会CDQ分治和分块的蒟蒻,面对区间加&区间求和这么难的问题,怎么可能会写线段树呢 于是,用CDQ分治解决区间加&区间求和这篇习作应运而生 [Par ...