【Vue学习笔记】—— vuex的语法 { }
学习笔记
作者:o_Ming
vuex
Vuex
++ state ++ (用于存储全局数据)
- 组件访问 state 中的全局数据的方式1:
this.$store.state.全局数据
- 组件访问 state 中的全局数据的方式2:
// 组件中按需导入 mapState 函数
import { mapState } from 'vuex'
export default {
name: 'app',
computed: {
// 将全局数据 映射 为计算属性
...mapState(['inputValue'])
},
}
<p>{{ inputValue }}</p>
++ mutations ++ (用于变更store存储的数据,不要在mutations中进行异步操作)
- 调用mutations的方式1:
// 在store中定义
mutations: {
add(state,param1){
state.count = param1
}
}
// 在组件中调用
this.$store.commit('add',param1)
- 调用mutations的方式2:
import { mapMutations } from 'vuex'
// 将指定的mutations函数,映射为组件的methods函数
export default{
methods: {
...mapMutations(['add']),
fun(){
this.add()
}
}
}
++ getters ++ (用于对Store中的数据加工处理形成新的数据)
- 定义 getters
getters: {
showNum: state => {
return '当前最新的数据是: ' + state.count
}
}
- 使用 getters
方式1:
this.$store.getters.名称方式2:
import { mapGetters } from 'vuex'
export default {
name: 'app',
computed: {
...mapGetters(['showNum'])
}
}
<p>{{ showNum }}</p>
- getters 和 computed (都可以缓存计算结果)
getters: {
format(state){
console.log("getters format 执行")
return state.txt + " Vuex"
}
}
<!-- "getters format 执行" 这句话只会执行一次 -->
<h1>{{ this.$store.getters.format }}</h1>
<h1>{{ this.$store.getters.format }}</h1>
<h1>{{ this.$store.getters.format }}</h1>
<h1>{{ this.$store.getters.format }}</h1>
<h1>{{ this.$store.getters.format }}</h1>
computed: {
format(){
console.log("computed format 执行")
return this.msg + " yeap!"
}
}
<!-- "computed format 执行" 这句话只会执行一次 -->
<h1>{{ this.format }}</h1>
<h1>{{ this.format }}</h1>
<h1>{{ this.format }}</h1>
<h1>{{ this.format }}</h1>
<h1>{{ this.format }}</h1>
++ actions ++ (用于执行异步操作)
- 定义
mutations: {
add(state){
state.count++
}
}
actions: {
addAsync(context){
setTimeout(() => {
context.commit('add')
},1000)
}
}
- 触发
- 方式1:
this.$store.dispatch('addAsync') - 方式2:
- 方式1:
import { mapActions } from 'vuex'
export default {
name: 'app',
methods: {
...mapActions(['addAsync']),
// this.addAsync()
}
}
<button @click='addAsync'></button>
坚持就是胜利!
【Vue学习笔记】—— vuex的语法 { }的更多相关文章
- Vue学习笔记:Vuex
为什么需要Vuex 管理共享状态 解决一份数据在多个组件中试用的困难 系统化的状态管理,区别于小型状态过来 底层设计模式: 全局单例模式 应用场景 适合中大型项目: 小项目反而会因为引入更多概念和框架 ...
- VUE 学习笔记 三 模板语法
1.插值 a.文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值 <span>Message: {{ msg }}</span> v-once ...
- Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)
(五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二 Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...
- Vue学习笔记-2
前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...
- vue学习笔记(八)组件校验&通信
前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...
- vue学习笔记(十)路由
前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...
- vue学习笔记(三)class和style绑定
前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...
- Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明-Babel)
五 Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitign ...
- Vue学习笔记-Vue.js-2.X 学习(二)===>组件化开发
===重点重点开始 ========================== (三) 组件化开发 1.创建组件构造器: Vue.extends() 2.注册组件: Vue.component() 3.使用 ...
- Vue学习笔记-Vue.js-2.X 学习(一)===>基本知识学习
一 使用环境: windows 7 64位操作系统 二 IDE:VSCode/PyCharm 三 Vue.js官网: https://cn.vuejs.org/ 四 下载安装引用 方式1:直接 ...
随机推荐
- zabbix实时监控mysql业务数据
1. 安装zabbix agent 下载zabbix:过往的软件包都有:https://sourceforge.mirrorservice.org/z/za/zabbix/ZABBIX%20Lates ...
- python线程池 ThreadPoolExecutor 的用法及实战
写在前面的话 (https://jq.qq.com/?_wv=1027&k=rX9CWKg4) 文章来源于互联网从Python3.2开始,标准库为我们提供了 concurrent.future ...
- 集合-List接口常用实现类的对比
1.collection接口:单列集合,用来存储一个一个的对象 2. list接口:存储有序的.可重复的数据. --->"动态数组",替换原有的数组 (1) Arraylis ...
- java的类
public class demo01 { public static void main(String[] args) { //类名可用中文也可用英文,但是不建议用中文 String 王者荣耀=&q ...
- ERROR .web.servlet.DispatcherServlet - Context initialization failed
自己创建了一个SSM 项目,使用maven的tomcat7 运行报错 ERROR .web.servlet.DispatcherServlet - Context initialization fai ...
- electron+vue 环境搭建
一.环境介绍及会遇到的困难 electron是一款比较流行的桌面可视化开发工具,通过html+js+css实现桌面应用,优点就是多平台开发以及UI好看.缺点是外网npm仓库速度慢.话不多说开始我的教程 ...
- Wpf 多指应用开发解析
1 首先分析多指事件与单指事件,以及执行顺序 2 事件阻断 订阅多指事件后,在TouchDown时 采用e.handle = true,阻断多指事件,或在ManipulationStarting. ...
- 注解_概念和注解_JDK内置注解
注解: 概念:说明程序的,给计算机看的 注解:用文字描述程序的,给程序员看的 定义:注解(Annotation),也叫元数据.一种代码级别的说明.他是JDK1.5及以后的版本引入的一个特性,与类,接口 ...
- 使用Properties集合存储数据,遍历取出Properties集合中的数据和Properties集合中的方法store和load
package com.yang.Test.PropertiesStudy; import java.io.FileWriter; import java.io.IOException; import ...
- 企业级数据治理工作怎么开展?Datahub这样做
大数据发展到今天,扮演了越来越重要的作用.数据可以为各种组织和企业提供关键决策的支持,也可以通过数据分析帮助发现更多的有价值的东西,如商机.风险等等. 在数据治理工作开展的时候,往往会有一个专门负责数 ...