web前端vue之vuex单独一文件使用方式实例详解


Posted in Javascript onJanuary 11, 2018

Vuex 是什么?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

上次我用了一个加减的例子为大家讲解vuex的基本的使用方式,和在什么样的情况下使用。上次还是在一个组件内把这个例子简单的展示了下,这次我把vuex抽离出来一个单独的文件,统一管理整个项目的状态。

上次也说了如果你的项目够大,那用vuex来管理整个项目的状态,那是再好不过的,如果是小项目的话就不推荐大家使用。好了废话不多说上码:

当你把项目的都准备好后,都安装好了vue-cli,webpack,vuex,router等

第一步新建一个叫:store.js的文件内容如下:

import Vue from 'vue' //引入vue
import Vuex from 'vuex' // 引入vuex
Vue.use(Vuex)  // 注册vuex
export default new Vuex.Store({ // 暴露与new vuex
 state: { // 相当于vue里data 存放整个项目的各个状态
  number: 0 
 },
 mutations: { //相当于vue里的methods放方法的,定义一些可以用来调用和修改state里的状态值
   addFun (state,num) { 
    state.number = num
   }
 }
})

这个状态管理的文件都建好了,接下来就是怎么去调用了

<template>
 {{numbertxt}}
 <button @click="addfun(1)">按钮1</button>
 <button @click="addfun(2)">按钮2</button>
</template> 
<script>
import store from 'store.js' // 老样先要引入
 export default{
  store:store, // 定义
  computed: { //实时监听
    numbertxt () { // 实时监听在store.js里的值改变
     return store.state.number
    }
   },
  methods:{
   addfun(num){
    store.commit('addFun',num) 
    //显式的提交 (commit) mutation里的方法来改变值
   }
  }
}
</script>

好了整个稍微复杂点vuex独立抽离的例子就到这里了,有不懂的朋友或喜欢vue的可以加我微信(nihaomeili87)我们一起进步!

总结

以上所述是小编给大家介绍的web前端vue之vuex单独一文件使用方式实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript 日期对象Date扩展方法
May 30 Javascript
javascript 限制输入脚本大全
Nov 03 Javascript
JS获取整个页面文档的实现代码
Dec 15 Javascript
javascript中onmouse事件在div中失效问题的解决方法
Jan 09 Javascript
js函数调用常用方法详解
Dec 03 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
Js表格万条数据瞬间加载实现代码
Feb 20 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
Oct 25 Javascript
Vue中保存数据到磁盘文件的方法
Sep 06 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
May 10 Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 Javascript
vue-cli webpack 引入jquery的方法
Jan 10 #jQuery
JS计算两个时间相差分钟数的方法示例
Jan 10 #Javascript
Vuex 入门教程
Jan 10 #Javascript
js实现上传并压缩图片效果
Jan 10 #Javascript
web前端vue之CSS过渡效果示例
Jan 10 #Javascript
Vue.js分页组件实现:diVuePagination的使用详解
Jan 10 #Javascript
利用ECharts.js画K线图的方法示例
Jan 10 #Javascript
You might like
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
基于php的微信公众平台开发入门实例
2015/04/15 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
js获取图片长和宽度的代码
2009/11/24 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
js实现动态时钟
2020/03/12 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
Python+django实现简单的文件上传
2016/08/17 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
python Gabor滤波器讲解
2020/10/26 Python
animation和transition的区别
2020/10/12 HTML / CSS
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
J2EE相关知识面试题
2013/08/26 面试题
数控专业应届生求职信
2013/11/27 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
公司承诺书怎么写
2014/05/24 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
学校法制宣传月活动总结
2014/07/03 职场文书
社区两委对照检查材料
2014/08/23 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
门卫管理制度范本
2015/08/05 职场文书