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函数库-集合框架
Apr 27 Javascript
jQuery弹出层插件简化版代码下载
Oct 16 Javascript
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
Aug 01 Javascript
AngularJS基础 ng-include 指令简单示例
Aug 01 Javascript
Vue.js学习笔记之 helloworld
Aug 14 Javascript
ajax异步请求详解
Jan 06 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
vue将对象新增的属性添加到检测序列的方法
Feb 24 Javascript
Vue-路由导航菜单栏的高亮设置方法
Mar 17 Javascript
基于Vue实现微前端的示例代码
Apr 24 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 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
jQuery参数列表集合
2011/04/06 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
深入分析Javascript跨域问题
2015/04/17 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
python实现机器人卡牌
2019/10/06 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
pytorch forward两个参数实例
2020/01/17 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
法律系毕业生自荐信范文
2014/03/27 职场文书
志愿者宣传口号
2014/06/17 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
决心书格式范文
2015/09/23 职场文书
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android
MySQL中日期型单行函数代码详解
2021/06/21 MySQL