VueX的store的简单使用心结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSDN的那些事

1. CSDN的论坛 http://bbs.csdn.net/home 论坛地图快速定位相关论坛专题 http://bbs.csdn.net/map &#xff08;http://bbs.csdn.net/forums/ST_Image http://bbs.csdn.net/forums/OpenCV http://bbs.csdn.net/forums/OL_Script http://bbs.csdn.net/forums/VC http://b…

快速学习EndNote X7

EndNote X7 破解版本下载&#xff1a; http://bt.neu6.edu.cn/thread-1554395-1-1.html 链接: https://pan.baidu.com/s/1kVwetNL 密码: vh2b http://bbs.sciencenet.cn/thread-1192379-1-1.html 或者 http://www.las.ac.cn/endnote/endnote.jsp 一、EndNote主要功能 1.…

关于node-sass和sass-loader安装上去的时候的时候报错的问题

一、关于node-sass和sass-loader安装上去的时候的时候报错的问题&#xff0c; 更多的时候是因为sass-loader的版本太高&#xff0c;或者node-sass的版本太高&#xff0c;导致的问题&#xff0c;解决的办法很简单…。删除依赖包 cnpm install sass-loader7.3.1 --save-devcnpm…

下载论文,电子书籍(中英文),专利,数据库和课件

科学网文献管理 http://bbs.sciencenet.cn/forum.php?modforumdisplay&fid80&page1 文献搜索引擎 http://search.aol.com/aol/webhome http://yippy.com/ http://www.findarticles.com/ http://ezproxy.sfpl.org/login http://www.osti.gov/scitech/ https://…

计算机网络之-嵌入式学习

网络作为嵌入式学习的必备知识&#xff0c;很多嵌入式学习者还没有真正的去系统的了解过网络这个知识&#xff0c;在学习网络这块的知识&#xff0c;整理了一些网络笔记&#xff0c;希望对大家的学习能有帮助&#xff0c;那下面就一起看看计算机网络的相关知识吧&#xff01;本…

PDF文件压缩

1. 在线PDF压缩 http://pdfcompressor.com/zh/ http://pdfcompressor.com/ https://www.pdfcompress.com/ 可下载相应软件 Soda PDF Desktop 2. PDF压缩软件 http://www.xdowns.com/soft/4/258/2012/Soft_92680.html PDFshrink

Kali渗透测试技术实战

第一章 引言 EC-Council Certified Ethical Hacker &#xff08;EC CEH&#xff0c;伦理黑客认证&#xff09;。整个过程包含五个阶段&#xff1a;侦察、扫描、获取访问、维持访问以及清除痕迹。 第二章 下载并安装Kali Linux 硬盘最小120G&#xff0c;尤其是在密码破解、取…

关于slot、slot-scope的指令的一些操作记录

关于slot、slot-scope的指令的一些操作记录&#xff1a; 从vue2.6.0开始&#xff0c;slot、slot-scope已经被废弃&#xff0c;推荐使用v-slot&#xff1b; slot-scope是作用域插槽, 父组件中不能直接用子组件中定义的data数据。 而slot-scope的出现就是解决了这样的问题 子组…

关于前端Vue的webpack的基本只用总结心得

1.先说一下vue webpack 的配置的问题 "scripts": {"dev": "node build/dev-server.js","build": "node build/build.js","lint": "eslint --ext .js,.vue src" }我们 npm run dev 便是运行的 第一条命…

五种方法提高你的智力

五种方法提高你的智力 智力是天生的&#xff0c;一成不变的吗&#xff1f;教你五种方法提高智力&#xff1a;1体验新鲜事物 2挑战自己3有创造力的思考4生活中&#xff0c;多玩“hard”模式5多与他人进行交流 弯兔123 2011-04-04 14:53经验说&#xff1a;智力是天生的&#xff0…

vue-cli中的webpack的config配置详细说明

vue-cli中的webpack的config配置详细说明打开我们的vue项目文件夹我们可以清楚的看到文件夹下的三个文件&#xff0c; “dev.env.js”&#xff0c;“index.js”&#xff0c;“prod.env.js”&#xff0c; 我们先打开prod.env.js的文件&#xff0c;看里面的内容&#xff1a;‘use…

matlab中 text 使用画图示例

% Plot the image of the Sensitivity and False Positive per image clear; close all; clc; I1 [0.5 75]; I2 [1 54.5];msize 19; %设定字体的大小hold on plot(I1(1),I1(2),ko-,MarkerFaceColor,r) % 红色实心圆点text(I1(1)0.1,I1(2),Wei 2002) hold on plot(I2(1),I2(2)…

计算机视觉界CV牛人牛事

CV人物1&#xff1a;Jianbo Shi史建波毕业于UC Berkeley&#xff0c;导师是Jitendra Malik。其最有影响力的研究成果&#xff1a;图像分割。其于2000年在PAMI上多人合作发表”Noramlized cuts and image segmentation”。这是图像分割领域内最经典的算法。主页&#xff1a;www.…

vscode编辑器,自己喜欢的颜色

"workbench.colorCustomizations": { //覆盖当前所选颜色主题的颜色"editor.background": "#1b1b19", //编辑器背景色"editor.selectionBackground": "#3514c554", //用户选中代码段的颜色 "editor.findMatchBackgroun…

Ubuntu中python切换及pip 安装相应python库

更改python默认版本 只需在终端里面执行 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150 sudo update-alternatives --install /usr/bin/python python …

js消息任务队列

JS单线程、异步、同步概念 多次出现“事件循环”这个名词&#xff0c;简单说明了事件循环的步骤&#xff0c;以便理解nextTick的运行时机&#xff0c;这篇文章将更为详细的分析下事件循环。在此之前需要了解JS单线程&#xff0c;及由此产生的同步执行环境和异步执行环境。 众所…

Ubuntu下安装cmake,配置ITK 和 SimpleITK, VTK(已测试可执行)

curses库 在安装cmake之前应该先安装一下curses库。如果系统中有curses库的话&#xff0c;cmake将生成一个可执行文件ccmake&#xff0c;它是一个基于文本程序的终端&#xff0c;有点类似windows GUI。 sudo apt-get install libncurses5-dev 备注&#xff1a;若无curses库…

定义[nextTick、事件循环]

详情清查收&#xff1a;---》 实例理解nextTick的使用&#xff0c;并给出在页面渲染上的优化巧用 https://www.cnblogs.com/hity-tt/p/6729118.html

世界坐标与图像坐标

1. 右手坐标系 2. 左手坐标系 伸出左手&#xff0c;让拇指和食指成“L”形&#xff0c;大拇指向右&#xff0c;食指向上。其余的手指指向前方。这样就建立了一个左手坐标系。拇指、食指和其余手指分别代表x&#xff0c;y&#xff0c;z轴的正方向。判断方法&#xff1a;在空间直…