学习笔记

  • 作者: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

    • 方式1this.$store.getters.名称

    • 方式2

import { mapGetters } from 'vuex'
export default {
name: 'app',
computed: {
...mapGetters(['showNum'])
}
}
<p>{{ showNum }}</p>
  • getterscomputed (都可以缓存计算结果)
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)
}
}
  • 触发

    • 方式1this.$store.dispatch('addAsync')
    • 方式2
import { mapActions } from 'vuex'
export default {
name: 'app',
methods: {
...mapActions(['addAsync']),
// this.addAsync()
}
}
<button @click='addAsync'></button>

坚持就是胜利!

【Vue学习笔记】—— vuex的语法 { }的更多相关文章

  1. Vue学习笔记:Vuex

    为什么需要Vuex 管理共享状态 解决一份数据在多个组件中试用的困难 系统化的状态管理,区别于小型状态过来 底层设计模式: 全局单例模式 应用场景 适合中大型项目: 小项目反而会因为引入更多概念和框架 ...

  2. VUE 学习笔记 三 模板语法

    1.插值 a.文本 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值 <span>Message: {{ msg }}</span> v-once ...

  3. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  4. Vue学习笔记-2

    前言 本文非vue教程,仅为学习vue过程中的个人理解与笔记,有说的不正确的地方欢迎指正讨论 1.computed计算属性函数中不能使用vm变量 在计算属性的函数中,不能使用Vue构造函数返回的vm变 ...

  5. vue学习笔记(八)组件校验&通信

    前言 在上一章博客的内容中vue学习笔记(七)组件我们初步的认识了组件,并学会了如何定义局部组件和全局组件,上一篇内容仅仅只是对组件一个简单的入门,并没有深入的了解组件当中的其它机制,本篇博客将会带大 ...

  6. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...

  7. vue学习笔记(三)class和style绑定

    前言 通过上一章的学习vue学习笔记(二)vue的生命周期和钩子函数,我们已经更近一步的知道了关于vue的一些知识,本篇博客将进一步探讨vue其它方面的内容,vue中关于class和style绑定,关 ...

  8. Vue学习笔记-Vue.js-2.X 学习(六)===>脚手架Vue-CLI(项目说明-Babel)

    五  Vue学习-vue-cli脚手架学习(创建只选一个选项:Babel) 1. 项目目录说明 node_modules : 包管理文件夹 public : 静态资源 src : 源代码 gitign ...

  9. Vue学习笔记-Vue.js-2.X 学习(二)===>组件化开发

    ===重点重点开始 ========================== (三) 组件化开发 1.创建组件构造器: Vue.extends() 2.注册组件: Vue.component() 3.使用 ...

  10. Vue学习笔记-Vue.js-2.X 学习(一)===>基本知识学习

    一  使用环境: windows 7 64位操作系统 二  IDE:VSCode/PyCharm 三  Vue.js官网: https://cn.vuejs.org/ 四  下载安装引用 方式1:直接 ...

随机推荐

  1. 谷歌浏览器控制台 f12怎么设置成中文/英文 切换方法,一定要看到最后!!!

    1.打开谷歌浏览器 2.右键选择检查或 f12 打开控制台 3.点击控制台右边的设置 4.中切英 选择偏好设置->语言=>English 5.英切中 6.选择中文 7.重启 8.切换中文成 ...

  2. 图片64base转码与解码

    场景一:图片转码成base64,传输,接收后解码成png等格式图片 import base64 # 读取图片,转换为base64编码格式 with open("F:\Archer\pictu ...

  3. 写了个 Markdown 命令行小工具,希望能提高园友们发文的效率!

    写了个 Markdown 命令行小工具,希望能提高园友们发文的效率! 前言 笔者使用 Typora 来编写 Markdown 格式的博文,图片采用的是本地相对路径存储(太懒了不想折腾图床). 时间久了 ...

  4. 网络通信协议分类和IP地址

    网络通信协议分类 通信的协议还是比较复杂的,java.net 包中包含的类和接口,它们提供低层次的通信细节.我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节 java.net ...

  5. APISpace万券齐发,API采购大放价

    Eolink APISpace 是 Eolink 旗下专业的API 数据交易平台,上面拥有海量的API,开发者可以根据需求自由选择. 环境天气 全国天气预报,支持全国以及全球多个城市的天气查询,包含国 ...

  6. Solution -「最大权闭合子图」做题随笔

    T1 小 M 的作物 先从简化题目入手,考虑先去掉 \(c\) 的额外收益.然后尝试将所有作物种在 \(B\), 则目前得到了 \(\sum \limits_{i = 1} ^n b_i\) 的收益. ...

  7. Netty-如何写一个Http服务器

    前言 动机 最近在学习Netty框架,发现Netty是支持Http协议的.加上以前看过Spring-MVC的源码,就想着二者能不能结合一下,整一个简易的web框架(PS:其实不是整,是抄) 效果 项目 ...

  8. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  9. vscode problem

    1.Inconsistent use of tabs and spaces in indentation 原因:tab和空格键不能同时使用 vs code按住ctrl + p,输入以下内容 >c ...

  10. mysql show操作

    SHOW CHARACTER SET 显示所有可用的字符集 SHOW CHARACTER SET; SHOW CHARACTER SET LIKE 'latin%'; SHOW COLLATION 输 ...