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 相关文章推荐
基于jquery的无刷新分页技术
Jun 11 Javascript
JavaScript新窗口与子窗口传值详解
Feb 11 Javascript
全面解析Bootstrap弹窗的实现方法
Dec 01 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
May 18 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
May 26 Javascript
JavaScript prototype属性详解
Oct 25 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
vue vant Area组件使用详解
Dec 09 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 Javascript
Node.js API详解之 querystring用法实例分析
Apr 29 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
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
不同浏览器的怪癖小结
2010/07/11 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
python判断一个对象是否可迭代的例子
2019/07/22 Python
python列表返回重复数据的下标
2020/02/10 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
美国内衣品牌:Leonisa
2016/08/14 全球购物
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
营业员实习自我鉴定
2013/12/07 职场文书
工程资料员岗位职责
2014/03/10 职场文书
银行贷款承诺书
2014/03/29 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
一般纳税人申请报告
2015/05/18 职场文书
经济纠纷起诉状
2015/05/20 职场文书
员工升职自我评价
2019/03/26 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA