vuex的特点:

多组件共享状态: 多个组件使用同一个数据
任何一个组件发生改变, 其他组件也要跟着发生相应的变化

安装vuex npm install vuex:

创建实例:

import Vuex from 'vuex'
import Vue from 'vue'
Vue.use(Vuex)const state = {name : '张三',age  : 18
}
const mutations = {// 更改 Vuex 的 store 中的状态的唯一方法是提交 mutationchangeName (state, params) {state.name = params.name},changeAge (state, params) {state.age = params.age}
}
const actions = {// Action 函数接受一个与 store 实例具有相同方法和属性的 context 对象,因此你可以调用 context.commit 提交一个 mutationactionsChangeAge ( context, params) {context.commit('changeAge', params)}
}
const getters = {// Getter 接受 state 作为其第一个参数doubleAge (state) {return state.age * 2}// 也可以使用箭头函数的简写// doubleAge: state => state.age * 2
}const store = new Vuex.Store({ // 创建全局状态管理的实例state, // 共同维护的全局状态mutations, // 处理数据的唯一途径, 修改state的数据只能通过mutationsactions, // 数据的异步操作处理getters // 获取数据并渲染
})// 导出并在main.js里面引用&注册
export default store# 引入文件:
import Vue from 'vue'
import App from './App.vue'
import store from './store/index'
Vue.config.productionTip = falsenew Vue({store, // 全局使用render: h => h(App),
}).$mount('#app')# 模板:<template><div><h2>组件</h2><!-- 组件可以通过this.$store.state 获取store中的数据 -->name: {{ this.$store.state.name }} <br>age: {{ this.$store.state.age }}<button @click="change">修改年龄</button></div>
</template>
<script>
export default {methods: {change () {// 此方法一般用于网络请求// dispatch: 调用actions里面的方法, 再让actions里面的方法// 通过commit 调用mutations里面的方法this.$store.dispatch('actionsChangeAge', { age: 120 })},changeName () {// 通过$store.commit直接调用store实例中mutation里面的方法// 参数1: 要调用mutation里面的方法名, 参数2: 要传输的数据this.$store.commit('changeName', { name: '宝宝', age: 19})}}
}
</script>
----------------------------------------------------------------// 以载荷形式
store.commit('increment',{amount: 10   //这是额外的参数
})// 或者使用对象风格的提交方式
store.commit({type: 'increment',amount: 10   //这是额外的参数
})dispatch:含有异步操作,数据提交至 actions ,可用于向后台提交数据
this.$store.dispatch('isLogin', true);commit:同步操作,数据提交至 mutations ,可用于读取用户信息写到缓存里
this.$store.commit('loginStatus', 1);state    存放基本数据
getters 从state基本数据派生出的数据(类似vue中的computed)
mutations   Store中更改state数据状态的唯一途径
actions 通过dispatch触发actions, actions在通过commit触发mutations。一般用于处理异步操作
modules 模块化Vuex

VueX的store的简单使用心结相关推荐

  1. vuex结合php,vuex中store的使用介绍(附实例)

    本篇文章给大家带来的内容是关于vuex中store的使用介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.状态管理(vuex)简介 vuex是专为vue.js应用程序 ...

  2. Vuex的store中的Module

    Vuex的store中的Module 1.单一状态树: 什么是单一状态树呢?单一状态树可以简单得理解成整个vuex中只有一个store对象. 这是官方对单一状态树的解释: Vuex 使用单一状态树-- ...

  3. vuex中store 的mutation

    vuex中store 的mutation 1.mutation 官方解释mutation: 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation.Vuex 中的 mutation ...

  4. Vuex初级入门及简单案例

    1.为什么要使用Vuex? (1)方便所有组件共享信息,方便不同组件共享信息. (2)某个组件需要修改状态和需求. 2.状态有哪些? (1)组件内部定义的data状态(通过组件内部修改) (2)组件外 ...

  5. Vuex配置及Vuex原理图分析,简单明了,一遍就明白

    配置Vuex npm i vuex@3 或npm i vue@4 因为是Vue2 使用的是Vuex3 版本 Vue3使用的是Vuex4版本 根据使用的脚手架而定 然后导入Vuex 代码如下 专门设置一 ...

  6. vue项目将token存在(vuex)store和localstorage中

    文章目录 一.准备工作和token 1.准备工作 2.介绍token用法 二.创建storage,store,request 1.src目录: 2.封装storage(可选) 3.创建store 4. ...

  7. 使用vuejs 2.x (不是nuxt) 做个demo: 使用 vuex, router ( store, action , mutation)

    使用命令创建项目 根据图片提示选择需要的内容,选择vuex router 按空格进行多选 vue create vuex1 cd vuex1 yarn serve 假设,我们有两个页面: " ...

  8. 闲云旅游项目开发-(第二篇:实现登录功能,使用vuex的store管理数据)

    目录 一 登录注册页布局 二 登录功能 1.思路 2.实现步骤 2.1 新建登录表单组件 2.2 表单数据绑定及验证 2.3 登录接口 3.总结 三  使用vuex/store管理数据 1.思路 2. ...

  9. 解决vuex中store保存数据,刷新页面会清空得问题

    1.在App.vue下加入 mounted() {window.addEventListener("unload", this.saveState);},methods: {sav ...

最新文章

  1. Power Network [POJ - 1459]
  2. Hibernate in action阅读笔记-吵吵冷饭-ORM
  3. 出块过程(2)nodeos 服务器接收消息
  4. Java中设计模式之生产者消费者模式-3
  5. java redis使用卡死_记一次找因 redis 使用不当导致应用卡死 bug 的过程
  6. Java网络编程的简单应用 例程
  7. Matrix工作室第六届纳新AI组考核题(A卷)
  8. 转整型_SPI转can芯片CSM300详解、Linux驱动移植调试笔记
  9. 前端初级html\css知识点总结
  10. VMWARE VCSA 6.5安装过程
  11. Fedora 16 更新源设置[zz]
  12. mysql 数据恢复软件_Recovery Toolbox for MySQL(MySQL数据库修复软件)
  13. 黑群晖vmm专业版_教你群晖用自带的VMM虚拟机安装精简版win10系统教程
  14. 高德 android 百度转高德,记一次百度和高德经纬度互转(不是你想的那样)
  15. 《东周列国志》第十四回 卫侯朔抗王入国 齐襄公出猎遇鬼
  16. 使用 styled-components 定义组件样式
  17. WinDjView对AfxMessageBox的定制
  18. Firefox同步密钥丢失的解决办法
  19. 十五、Spring cloud 消息总线(Bus)
  20. 怎么在视频上叠加字幕和Logo--技术实现2

热门文章

  1. Python机器学习--KNN归一化、距离的惩罚
  2. Codeblocks无法输出中文和中文乱码解决方法(亲测可用)
  3. win10专业版和企业版的区别_深度完美Win10_1809_LTSC.1158_64位企业版V2020.0415
  4. java矩阵加法_在java中的数组加法?
  5. 深度学习(7)TensorFlow基础操作三: 索引与切片
  6. LQ训练营(C++)学习笔记_广度优先搜索
  7. java中事务实例,Java Spring 事务管理器入门例子教程(TranscationManager)
  8. 『ACM-算法-二分法』在单调递增序列a中查找小于等于x的数中最大的一个(即x或x的前驱)
  9. 信息竞赛进阶指南--最小表示法
  10. [数组] 连续子数组的最大和 --- LeetCode53