一、vuex 的理解

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

我的理解:全局变量,同 angular 中的根元素 $rootScope

例如: 有 模块a 和 模块b,想让 模块b 获取 模块a 的数据。

这时候我们就可以定义 全局变量,模块a 的数据 赋值给全局变量 x,然后 模块b 再获取 x 。【 我们把 模块a 的数据叫 state,全局变量叫 store。模块b 叫 data 】

二、安装

在终端通过cd命令进入到项目里,然后使用以下命令进行安装:

npm install vuex --save

--save 参数的作用是在我们的包配置文件 package.json 文件中添加对应的配置。安装成功后, 可以查看 package.json 文件,你会发现多了"vuex": "^2.3.1"的配置:

"dependencies": {
"vue": "^2.3.3",
"vue-resource": "^1.3.4",
"vue-router": "^2.7.0",
"vuex": "^2.3.1"
},

三、使用

1、注册

在 main.js 文件中导入并注册 vuex:

import Vuex from 'vuex'

Vue.use(Vuex)

2、项目中调用

(1)在项目中的 src 目录下,创建 store.js文件:

import Vue from 'vue'
import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({
state:{
count:
},
mutations:{
increment:state => state.count ++,
decrement:state => state.count --,
}
})

上面这段代码比较简单,首先导入并注册 vuex,再导出一个 vuex 实例,这个实例在 state 中定义了 count属性,其作用是用来计数的,然后在mutations中定义了两个方法,increment是对count进行加1处理,decrement是对count进行减1处理。

(2)在 main.js导入:

import store from './store'

注意:store 的路径要注意写对。

并且在 vue 实例中添加store属性,即可在全局的所有子组件中使用这个了:

new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})

(3)在子组件中简单的使用我们定义的store:

<template>
<div>
<strong>{{ count }}</strong>
<p>
<button @click="increment">+</button>
<button @click="decrement">-</button>
</p>
</div>
</template> <script>
export default {
name: "login",
data(){
return{
localCount:
}
},
methods: {
increment: function (){
this.$store.commit('increment')
},
decrement: function (){
this.$store.commit('decrement')
} },
computed:{
count: function (){
return this.$store.state.count
}
}
}
</script>

四、效果

   点击按钮+1-1  

vue——vuex安装及使用的更多相关文章

  1. use vue vuex vue-router, not use webpack

    vue,vuex,vue-router放在一起能做什么?不用webpack之类的打包工具使用他们是否可行?各位道友在初学vue时是否有这样的困惑.因为现代构建前端项目的一般模式是: 安装webapck ...

  2. [ABP开源项目]--vue+vuex+vue-router+EF的权限管理系统

    好久没写文字了,当然大家也不期待嘛,反正看代码就行了. 演示网站 首先说下这个项目吧. 如标题一样是基于VUE+.NET开发的框架,也是群友一直吼吼吼要一个vue版本的ABP框架. 我们先来看看首页吧 ...

  3. vue vuex vue-rouert后台项目——权限路由(超详细简单版)

    项目地址:vue-simple-template共三个角色:adan barbara carrie 密码全是:123456 adan 拥有 最高权限A 他可以看到 red , yellow 和 blu ...

  4. vue+vuex+axios+echarts画一个动态更新的中国地图

    一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...

  5. vuejs学习——vue+vuex+vue-router项目搭建(二)

    前言 最近比较忙,所有第二章发布晚了,不好意思各位. vuejs学习——vue+vuex+vue-router项目搭建(一) 中我们搭建好了vue项目,我相信大家已经体验了vue其中的奥妙了,接下来我 ...

  6. vuejs学习——vue+vuex+vue-router项目搭建(一)

    前言 快年底了却有新公司邀请了我,所以打算把上家公司的学到一下技术做一些总结和分享. 现在vuejs都2.0了,我相信也有很多朋友和我一样实际项目还是选择vue1.0的或者给新手一些参考,不管在选择哪 ...

  7. VUE的安装与Django之间打通数据

    一  VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...

  8. Vue技术点整理-Vue CLI安装详解

     一,脚手架安装 Node 版本要求 Vue CLI 需要 Node.js +).你可以使用 nvm 或 nvm-windows 在同一台电脑中管理多个 Node 版本. 1,全局安装Vue CLI ...

  9. 记一次vue+vuex+vue-router+axios+elementUI开发(三)

    项目用到了状态管理工具 Vuex  中文文档:https://vuex.vuejs.org/zh/guide/ 大家都知道,vue中可用props将父组件的数据传递给子组件,但是有个问题,子组件一般不 ...

随机推荐

  1. py-2 python介绍与安装

    一.python介绍 1.python背景 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Py ...

  2. unittest 运行slenium(四)---通过指定用例的形式运行用例

    一: 说明 跟数据驱动唯一的区别为用例数据获取时,及运行方式不同. 其它都基本相同,可参考https://www.cnblogs.com/xiaodingdong/p/11753220.html 二: ...

  3. FPGA学习笔记之按键控制

    参考: [黑金原创教程][FPGA那些事儿-驱动篇I ]实验二:按键模块① - 消抖 源码如下: key_funcmod.v module key_funcmod(clk, rst, key, led ...

  4. asp.net 页面按回车就会触发button按钮事件

    转载于 https://www.cnblogs.com/anz130/articles/2445830.html 转自:http://space.itpub.net/12639172/viewspac ...

  5. HDU - 5706 - Girlcat - 简单搜索 - 新手都可以看懂的详解

    原题链接: 大致题意:给你一个二维字符串,可以看成图:再给两个子串“girl”和“cat”,求图中任意起点开始的不间断连接起来的字母构成的两个子串的分别的个数:连接的方向只有不间断的上下左右. 搜索函 ...

  6. Linux添加shell(.sh)脚本并添加定时任务

    一.添加sheel脚本 1.首先创建一个执行程序:vim a.sh 2.编辑: #!/bin/bash  python3  python.py >> test2.log 2>& ...

  7. 关于七牛云存储配置服务器CNAME的问题

    以前的图片什么的都存放在七牛云(免费的那款)上,七牛相比OSS就是只能创建bucket但不能创建文件夹,这个令人很烦.最近七牛发公告说存储文件的测试域名30天后不能使用了,那我那些存储的图片的所有外链 ...

  8. C#经纬度加减运算(度°分′秒″格式)

    经度是分和秒是按60进位,如果要做运算第一步就是转换成浮点数,之后就是计算和还原. using System.Text.RegularExpressions; public static double ...

  9. python - django (cookie)

    # """ Cookile: # 因为 HTTP 请求是没有状态的,每一次请求都是独立的 Cookile 的存储: # 保存在浏览器上的 键值对. # 服务器控制着响应, ...

  10. 使用openoffice转pdf,详细

    期由于项目的需求,需要word文档转pdf在线预览,由于一直没有接触这块,所以花了将近四天时间才弄明白. 写这篇文章的主要目的是加深自己的记忆,同时方便以后在用. (最近有使用了这个功能,发现这篇文章 ...