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数字数组去重复项的实现代码
Dec 30 Javascript
收集的10个免费的jQuery相册
Feb 26 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
Jan 24 Javascript
JS自动适应的图片弹窗实例
Jun 29 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
element ui 表格动态列显示空白bug 修复方法
Sep 04 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
Nov 09 Javascript
24个解决实际问题的ES6代码片段(小结)
Feb 02 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
Nov 11 Javascript
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
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
php 随机排序广告的实现代码
2011/05/09 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
仿猪八戒网左下角的文字滚动效果
2011/10/28 Javascript
jquery实现弹出层完美居中效果
2014/03/03 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
使用Jenkins部署React项目的方法步骤
2019/03/11 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
解读python logging模块的使用方法
2018/04/17 Python
matplotlib实现区域颜色填充
2019/03/18 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
家居装修公司创业计划书范文
2014/03/20 职场文书
调解协议书
2014/04/16 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
给老婆的保证书
2015/01/16 职场文书
求职自荐信怎么写
2015/03/04 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang