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代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
没有document.getElementByName方法
Aug 19 Javascript
jquery easyui 结合jsp简单展现table数据示例
Apr 18 Javascript
jquery带下拉菜单和焦点图代码分享
Aug 24 Javascript
JS提交form表单实例分析
Dec 10 Javascript
javascript实现图片轮播效果
Jan 20 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
canvas学习之API整理笔记(一)
Dec 29 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
React组件对子组件children进行加强的方法
Jun 23 Javascript
Vue3.0中的monorepo管理模式的实现
Oct 14 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 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
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
JavaScript 学习笔记之操作符
2015/01/14 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
谈谈Vue.js——vue-resource全攻略
2017/01/16 Javascript
Vuex简单入门
2017/04/19 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Pycharm学习教程(7)虚拟机VM的配置教程
2017/05/04 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
Python中拆分字符串的操作方法
2019/07/23 Python
如何获取Python简单for循环索引
2019/11/21 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
公司财务人员岗位职责
2015/04/14 职场文书