四、什么是vuex

一、关于vuex刚开始学习的时候对于里面的很多名词有很陌生。很难接受这个定义,下面这个链接很好很简单通俗的解释了什么是vuex

我喜欢的vuex网址:https://zhuanlan.zhihu.com/p/24357762

二、vuex主要是vue用来存储数据的,它可以有效的实现更改数据时有使用vue页面的数据实时更新,但是它有一个很大的缺点,就是因为vue是单页应用所以当页面刷新时vuex的数据随之也被清空了,如何实现页面被刷新而数据没有被清空呢?

在讲述之前你首先需要了解vuex的基本概念和使用方式,这里不再赘述,因为网上有很多资料,vue的官网也有很详细的说明。使用的时候有一点要记住:action,mutation,getter都必须是函数

解决方案:

在此处需要先封装一下vuex,首先来看看封装的文件格式:

从上图中可以清晰的看到vuex的结构,首先简单的说一下各个文件的意义:

1、action.js 独立出来vuex处理数据的文件,格式如下:

2、getter.js 独立出来的vuex获取数据的文件,格式如下:

3、 mutation-types.js 独立出来的vuex更改数据和存储数据的文件,此文件是mutation的参数申明文件,格式如下:

4、mutations.js 独立出来是mutation文件,在这里处理更改和存储数据,将mutation-types在此处导入,格式如下:

5、大boss上场啦,接下来就要说封装的关键点,index.js,先丢代码:

6、在最外层的index.js里面做了,初始化中间件的逻辑,代码如下:

这里借用官方文档中对plugin进行说明,如下图:

这样写之后在页面获取和存储数据的方式是:

时间: 2024-08-26 05:13:45

四、什么是vuex的相关文章

Vue 爬坑之路(四)—— 与 Vuex 的第一次接触

在 Vue.js 的项目中,如果项目结构简单, 父子组件之间的数据传递可以使用  props 或者 $emit 等方式 http://www.cnblogs.com/wisewrong/p/6266038.html 但是如果是大型项目,很多时候都需要在子组件之间传递数据,使用之前的方式就不太方便.Vue 的状态管理工具 Vuex 完美的解决了这个问题. 一.安装并引入 Vuex 项目结构: 首先使用 npm 安装 Vuex cnpm install vuex -S 然后在 main.js 中引入

页面刷新vuex数据消失问题解决方案 之 vuex中间件

之前我写了一篇用ES6 Proxy方案解决数据同步的文章 页面刷新vuex数据消失问题解决方案. 今天和同事沟通这个vuex数据还原问题,我说我的方法很奇异.聊着聊着,同事咋不用  store.subscribe , 当时还有点觉得不可能,仔细再去看vuex官方文档. 这个还真的是可行,但当然也是存在不方便的地方的. 此方案现在已经应用我基于vue开发的音乐web app VBOX 上,欢迎大家给star. 基本方案和步骤如下 1. 简单的按照键复制对象 2. localStorage存储的封装

Vuex + axios 发送请求

Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios 来完成 ajax 请求,而大型项目都会使用 Vuex 来管理数据,所以这篇博客将结合两者来发送请求 前言: Vuex 的安装将不再赘述,可以参考之前的博客 Vue 爬坑之路(四)-- 与 Vuex 的第一次接触 使用 cnpm 安装 axios cnpm install axios -S 安装其他插

438 vuex:基本使用,传参,vue和vuex的配合使用,Vue脚手架3,使用Vuex改版 TodoMVC,actions,mapGetters,mapMutations,mapActions

一 .Vuex的介绍 vuex 是什么? 状态管理工具 状态:即数据, 状态管理就是管理组件中的data数据 Vuex 中的状态管理工具, 采用了 集中式 方式统一管理项目中组件之间需要通讯的数据 [共享的数据.] [看图] 如何使用 最佳实践 : 只将组件之间共享的数据放在 vuex 中, 而不是将所有的数据都放在 vuex 中 也就是说: 如果数据只是在组件内部使用的, 这个数据应该放在组件中, 而不要放在 vuex vuex 中的数据也是 响应式 的, 也就是说: 如果一个组件中修改了 v

【原创】从零开始搭建Electron+Vue+Webpack项目框架,一套代码,同时构建客户端、web端(二)

导航: (一)Electron跑起来(二)从零搭建Vue全家桶+webpack项目框架(三)Electron+Vue+Webpack,联合调试整个项目(未完待续)(四)Electron配置润色(未完待续)(五)预加载及自动更新(未完待续)(六)构建.发布整个项目(包括client和web)(未完待续) 摘要:上篇文章说到了如何新建工程,并启动一个最简单的Electron应用.“跑起来”了Electron,那就接着把Vue“跑起来”吧.有一点需要说明的是,webpack是贯穿这个系列始终的,我也是

JEECG技术文档摘录

1.快速开始 Hello World 前后端分离框如何快速进入开发,请参照下面hello world实现demo 一.后台请求实现 @RestController @RequestMapping("/test/jeecgDemo") @Slf4j public class JeecgDemoController { /** * hello world * * @param id * @return */ @GetMapping(value = "/hello") p

用Vue来实现音乐播放器(四十):歌单详情页布局以及Vuex实现路由数据通讯

1.歌单详情页是推荐页面的二级路由页面 将推荐页面歌单的数据传到歌曲详情页面  利用vuex 1.首先在state下定义一个歌单对象 disc{} 2.在mutaions-types中  定义一个别名 3.在mutations里面创建更改函数 4.在getters里面将该状态与组件映射 4.在recommed推荐主页引入mapMutations 5.在methods中去拓展mapMutations ...mapMutations({自定义函数名:' mutations-types中的别名 ' 

vuex的四种状态

state<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible"

应用四:Vue之VUEX状态管理

概念:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 应用场景:Vue多个组件之间需要共享数据或状态. Vuex有几个核心概念:State.Getter.Mutation.Action.Module. State:存储状态数据 Getter:从状态数据派生数据,相当于State的计算属性. Mutation:存储用于同步更改状态数据的方法,默认传入的参数为state. Action:存储