Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

简单配置

在src目录下新建

|- src
|- vuex
|-store.js
import Vue from 'vue';
import Vuex from 'vuex'; Vue.use(Vuex); const store = new Vuex.Store({
state: {
},
mutations: { } }) export default store;

在main.js

import store from './vuex/store'

/* eslint-disable no-new */
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app-box')

用vuex 最简单的操作

在vuex里面定义一个数量count变量,以及increment()增加和decrease()减少的方法

import Vue from 'vue';
import Vuex from 'vuex'; Vue.use(Vuex); const store = new Vuex.Store({ state: { // 计算数量
count: 0
}, mutations: { // 增加
increment (state) {
state.count ++
console.log(state.count); }, // 减少
decrease (state) {
state.count --
console.log(state.count); },
}
}) export default store;

页面:

<template>
<div class="main" > <!-- 数量 -->
<!-- store.state 来获取状态对象 ,以及通过 store.commit 方法触发状态变更 -->
<div class="num">{{this.$store.state.count}}</div> <!-- 操作 -->
<x-button type="primary" mini @click.native="increment">增加数量</x-button>
<x-button type="primary" mini @click.native="decrease">减少数量</x-button>
</div>
</template>

操作方法

    /**
操作vuex里面的加法
store.commit 方法触发状态变更
我们通过提交 mutation 的方式,而非直接改变 store.state.count
是因为我们想要更明确地追踪到状态的变化
*/ increment(){
this.$store.commit('increment')
}, // 操作vuex里面的减法
decrease(){
this.$store.commit('decrease')
},

推荐几个好的vue ui库

vux库地址

iviewui库地址

饿了么库地址

其中我引入了vux框架, 这是个vue - 移动端Vue非常棒的组件库,如果大家复制代码过去,如果没有引入vux库,记得直接把< x-button>< x-button>改为< button>< /button>

Vuex 最简单的数量增减实例的更多相关文章

  1. vuex最简单、最直白、最全的入门文档

    前言 我们经常用element-ui做后台管理系统,经常会遇到父组件给子组件传递数据,下面一个简单的例子,点击按钮,把弹框显示变量数据通过子组件的props属性传递,子组件通过$emit事件监听把数据 ...

  2. 一个简单的Android小实例

    原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台   3.安装J ...

  3. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  4. Linux下简单的socket通信实例

    Linux下简单的socket通信实例 If you spend too much time thinking about a thing, you’ll never get it done. —Br ...

  5. 一个简单的jQuery插件开发实例

    两年前写的一个简单的jQuery插件开发实例,还是可以看看的: <script type="text/javascript" src="jquery-1.7.2.m ...

  6. springmvc 项目完整示例01 需求与数据库表设计 简单的springmvc应用实例 web项目

    一个简单的用户登录系统 用户有账号密码,登录ip,登录时间 打开登录页面,输入用户名密码 登录日志,可以记录登陆的时间,登陆的ip 成功登陆了的话,就更新用户的最后登入时间和ip,同时记录一条登录记录 ...

  7. vuex最简单、最详细的入门文档

    如果你在使用 vue.js , 那么我想你可能会对 vue 组件之间的通信感到崩溃 . 我在使用基于 vue.js 2.0 的UI框架 ElementUI 开发网站的时候 , 就遇到了这种问题 : 一 ...

  8. [WCF REST] 一个简单的REST服务实例

    Get:http://www.cnblogs.com/artech/archive/2012/02/04/wcf-rest-sample.html [01] 一个简单的REST服务实例 [02] We ...

  9. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

随机推荐

  1. Python操作Zip文件

    Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # ...

  2. C#使用HttpClient获取Location

    之前使用HttpWebRequest的时候,只需要设置HttpWebRequest对象的AllowAutoRedirect属性值为false即可在Respomse的Header中获取Location: ...

  3. Abp(.NetCore)开发与发布过程3-部署Ubuntu站点

    以下是笔者在 Ubuntu 16.0-64bit 环境下 发布 ABP(.NetCore)的全过程.特此记录,希望对大家有所帮助. 准备的工具 1.PuTTY(ssh,如果不想每次都用阿里云的远程登录 ...

  4. 我的Chrome

    插件: CaretTab - New Tab Clock and Date 完全就是为了好看

  5. private static final long serialVersionUID = 1L;详解

    public class User implements Serializable { /** * serialVersionUID */ private static final long seri ...

  6. C#+HtmlAgilityPack—>糗事百科桌面版V2.0

    最近在浏览以前自己上传的源码,发现在糗事百科桌面端源码评论区中,有人说现在程序不能用了.查看了一下源码运行情况,发现是正则表达式解析问题.由于糗百的网页版链接和网页格式稍有变化,导致解释失败.虽然可以 ...

  7. sqlite 的基本使用3

    AND 运算符和OR运算符 这两个运算符一般被称为连接运算符,用来缩小sqlite所选的数据 AND 运算符是当所有的条件都为真时,表达式才为真 sqlite and name = "bb& ...

  8. 【复制】【编码】MySQL复制中的编码问题

    编码背景知识 Latin-1,全称ISO 8859-1 Latin 1 对ASCII的拉丁语扩展 向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x8 ...

  9. 如何理解iOS的“对象等同性”

    在iOS开发过程中,我们经常需要用到等同性来判断两个对象是否相等,通常我们会使用==来判断,但是这样比较出来的结果可能不是我们期望的:所以,一般我们会使用NSObject协议声明的isEqual方法来 ...

  10. Redis的部署及使用

    Redis Memcached与Redis的对比 Memcached: 优点: 1. 纯set get性能好 2. 开发都会用,易用简单 4. 可用于存放session 缺点: 1. 不支持持久化 2 ...