vue——vuex安装及使用
一、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安装及使用的更多相关文章
- use vue vuex vue-router, not use webpack
vue,vuex,vue-router放在一起能做什么?不用webpack之类的打包工具使用他们是否可行?各位道友在初学vue时是否有这样的困惑.因为现代构建前端项目的一般模式是: 安装webapck ...
- [ABP开源项目]--vue+vuex+vue-router+EF的权限管理系统
好久没写文字了,当然大家也不期待嘛,反正看代码就行了. 演示网站 首先说下这个项目吧. 如标题一样是基于VUE+.NET开发的框架,也是群友一直吼吼吼要一个vue版本的ABP框架. 我们先来看看首页吧 ...
- vue vuex vue-rouert后台项目——权限路由(超详细简单版)
项目地址:vue-simple-template共三个角色:adan barbara carrie 密码全是:123456 adan 拥有 最高权限A 他可以看到 red , yellow 和 blu ...
- vue+vuex+axios+echarts画一个动态更新的中国地图
一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...
- vuejs学习——vue+vuex+vue-router项目搭建(二)
前言 最近比较忙,所有第二章发布晚了,不好意思各位. vuejs学习——vue+vuex+vue-router项目搭建(一) 中我们搭建好了vue项目,我相信大家已经体验了vue其中的奥妙了,接下来我 ...
- vuejs学习——vue+vuex+vue-router项目搭建(一)
前言 快年底了却有新公司邀请了我,所以打算把上家公司的学到一下技术做一些总结和分享. 现在vuejs都2.0了,我相信也有很多朋友和我一样实际项目还是选择vue1.0的或者给新手一些参考,不管在选择哪 ...
- VUE的安装与Django之间打通数据
一 VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...
- Vue技术点整理-Vue CLI安装详解
一,脚手架安装 Node 版本要求 Vue CLI 需要 Node.js +).你可以使用 nvm 或 nvm-windows 在同一台电脑中管理多个 Node 版本. 1,全局安装Vue CLI ...
- 记一次vue+vuex+vue-router+axios+elementUI开发(三)
项目用到了状态管理工具 Vuex 中文文档:https://vuex.vuejs.org/zh/guide/ 大家都知道,vue中可用props将父组件的数据传递给子组件,但是有个问题,子组件一般不 ...
随机推荐
- laravel管理模型插入
post控制器public function comment(Post $post,Request $request){ try{ if(empty($request->content)){ E ...
- Dism++备份还原系统
使用dism++备份和还原需要下载该工具,并选择与系统对应的Dism++x64或Dism++x32运行进行操作. Dism++网络下载地址:http://www.chuyu.me/zh-Hans/in ...
- 数据库中的Schema到底是什么
参考:http://database.guide/what-is-a-database-schema/ 在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数 ...
- 单链表(python)
# -*- coding: utf-8 -*- class Node(object): def __init__(self, value=None, next=None): # 这里我们 root 节 ...
- 23 export default和export的使用方式
在Node中 使用 var 名称 = require('模块标识符') module.export 和exports来暴露成员 //这是 Node中向外暴露成员的形式: module.exports= ...
- 云计算(1)-为什么要使用cloud
云计算-为什么要使用cloud Many cloud providers(一些提供云服务的商家) EC2:提供computing services S3:提供the ability to store ...
- 有关Django的smallDemo
注: 电脑为Mac,Python解释器为3.5.4 数据库使用的是pymysql模块代替mysqldb 功能: 运行服务器,在login登录界面输入用户名和密码,post到服务器, 通过数据库判断用户 ...
- JavaScript this 的指向问题
原文作者:SegmentFault ——写bug 原文链接:https://segmentfault.com/a/1190000015438195 this的指向已经是一个老生常谈的问题,每逢面试都要 ...
- ES6遍历器 生成器 学习整理
遍历器[迭代器](Iterator) 就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所 ...
- [GraphQL] Query Lists of Multiple Types using a Union in GraphQL
Unions are used when we want a GraphQL field or list to handle multiple types of data. With a Union ...