转载请注明出处: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的更多相关文章

  1. 【前端】Vue2全家桶案例《看漫画》之一、添加四个导航页

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_1.html 项目github地址:https://github.com/shamoyuu/ ...

  2. 【前端】Vue2全家桶案例《看漫画》之番外篇、express上传漫画(可选)

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_extra_1.html 项目github地址:https://github.com/sha ...

  3. 【前端】Vue2全家桶案例《看漫画》之六、图片阅读页

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_6.html 项目github地址:https://github.com/shamoyuu/ ...

  4. 【前端】Vue2全家桶案例《看漫画》之四、漫画页

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_4.html 项目github地址:https://github.com/shamoyuu/ ...

  5. 【前端】Vue2全家桶案例《看漫画》之二、完成首页基本样式

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_2.html 项目github地址:https://github.com/shamoyuu/ ...

  6. 【前端】Vue2全家桶案例《看漫画》之七、webpack插件开发——自动替换服务器API-URL

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_7.html 项目github地址:https://github.com/shamoyuu/ ...

  7. 【前端】Vue2全家桶案例《看漫画》之五、引入axios

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_5.html 项目github地址:https://github.com/shamoyuu/ ...

  8. Vue2全家桶+Element搭建的PC端在线音乐网站

    目录 1,前言 2,已有功能 3,使用 4,目录结构 5,页面效果 登录页 首页 排行榜 歌单列表 歌单详情 歌手列表 歌手详情 MV列表 MV详情 搜索页 播放器 1,前言 项目基于Vue2全家桶及 ...

  9. Vue2全家桶之一:vue-cli(vue脚手架)超详细教程

    本文转载于:https://www.jianshu.com/p/32beaca25c0d   都说Vue2简单上手容易,的确,看了官方文档确实觉得上手很快,除了ES6语法和webpack的配置让你感到 ...

随机推荐

  1. PAT basic level 1001-1019 解题笔记

    1002 写出这个数 采用字符串输入数据,再对每位减去字符‘0’,得到该位相应的整数 int len=s.length();//字符串的长度 ; ;i<len;i++)//每位减去‘0’,逐位相 ...

  2. 怎么改变title属性的样式?

    我们经常会设置title属性来显示提示的内容,最常见的一种就是超过文本框的内容显示省略号,鼠标移上去显示完整的内容,这里顺便说下显示省略号的设置,如 div{text-overflow:ellipsi ...

  3. JS对象、原型链

    忘记在哪里看到过,有人说鉴别一个人是否 js 入门的标准就是看他有没有理解 js 原型,所以第一篇总结就从这里出发. 对象 JavaScript 是一种基于对象的编程语言,但它与一般面向对象的编程语言 ...

  4. ImageMagick命令行工具

    [ convert | identify | mogrify | composite | montage | compare | display | animate | import |conjure ...

  5. Oracle打印日历功能

    Oracle用SQL打印日历 1.1  打印当月日历 , D, NULL)) SUN, , D, NULL)) MON, , D, NULL)) TUE, , D, NULL)) WED, , D,  ...

  6. salesforce零基础学习(八十六)Ajax Toolkit (VF页面中使用及javascript action使用)

    Ajax Toolkit 参考文档:https://resources.docs.salesforce.com/212/latest/en-us/sfdc/pdf/apex_ajax.pdf 在项目中 ...

  7. 3.C++内联函数,默认参数,占位参数

    本章主要内容: 1)内联函数(替代宏代码段) 2)默认参数 3)占位参数 1.C++的内联函数分析 1.1讲解内联函数之前,首先回忆下之前讲的define宏定义: 之前讲过宏定义会经过预处理器进行文本 ...

  8. strcpy和strcat易忽略点

    首先来看一段C程序: #include <stdio.h> #include <string.h> #include <stdlib.h> void GetMem( ...

  9. MIT-线性代数笔记(7-11)

    第 07 讲 求解 Ax=0 :主变量,特解 矩阵的秩Rank(A):矩阵主元的个数. 找出“主变量”pivotvariables,主列,即主元所在的列,其他列,称为自由列.(自由列表示可以自由或任意 ...

  10. 使用Scanner获取键盘输入

    使用Scanner类可以很方便地便获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件.输入流 .字符串中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同 ...