首页 > 其他 > 详细

VueX

时间:2020-06-02 16:10:47      阅读:43      评论:0      收藏:0      [点我收藏+]

#vueX
**前言:
我们接触过vue.js的 一定知道在vue中各个组件之间传值的痛苦,在vue中我们可以使用vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,那么接下来我们就来学习一下vuex是如何修改状态值的:**

一:什么是vuex?
 1.1:
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态(他是集中管理数据的工具)。
1.2 vuex的优点:
- 可以实现父子传值,兄弟传值,隔代传值
- 能够存放组件之间共享的数据
- 解决大中型项目中数据共享的问题


 二:vuex的组成?
1.state:存储状态(变量)
2. getters:对数据获取之前的再次编译,可以理解为state的计算属性。我们 在组件中使用$ store
3. mutations: 修 改 状 态 , 并 且 是 同 步 的 。 在 组 件 中 使 用$ store.commit(‘‘",data)。这个和我们组件中的自定义事件类似。
4. actions:异步操作。在组件中使用是$store.dispath(‘自定义事件名‘,‘‘传递的参数)
5. 5. modules:store的子模块,为了开发大型项目,方便状态管理而使用的。这里我们就不解释了,用起来和上面的一样。

三:玩转vuex的两种方法:
 3.1 第一种:
 3.1.1 安装:

 

npm installl vuex --save

 



3.1.2 创建一个store文件夹,里面放入index.js。在main.js里面引入,注册。

 技术分享图片

3.1.3 操作一波~


###### 页面

javascript
<template>
<div class="home">
<h3>这是主页</h3>
<button @click="prev()">减</button>
{{this.$store.state.count}}
<button @click="next">加</button>
</div>
</template>
<script>
import { Sumcode } from ‘../http/api‘;

export default {
name: ‘Home‘,

methods: {
next(){
this.$store.dispatch(‘next‘,)//通过dispatch请求发送到action
} 
},
}
</script>

```
###### store.js
```javascript
import Vue from ‘vue‘
import Vuex from ‘vuex‘
Vue.use(Vuex)
export default new Vuex.Store({
//用来存储数据的
state: {
count: 1
},
mutations: {
//在motations里面我们改变state的状态来实现数量的加加减减
next(state,value){
state.count++;
},
prev(state){
state.count--;

},

},
actions: {
//在这里我们异步操作 发送到motation里面
next(context){

context.commit(‘next‘)
},
prev(context){

context.commit(‘prev‘)
},
},
//这个也就是我们上面所说的store 的子模块。这样的话比较清晰
modules: {},
getters:{}//这个相当于我们vue中的computed计算属性
// 页面中我们直接通过this.$store.state.getters.data
})

 

VueX

原文:https://www.cnblogs.com/gjf-7/p/13031304.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!