Lison《vue技术栈开发实战》(二)
Lison《vue技术栈开发实战》(二)
- 状态管理bus的使用
- 父子组件通信
- v-model语法糖
- 使用bus通信
- 状态管理Vuex(一)
- state和getter
- 辅助函数的使用
- 模块中的state和getter的使用
- 使用命名空间时辅助函数的使用
- 状态管理Vuex(二)
- mutation
- action
- module
- 在action调用接口实操
- async/await使用
- 状态管理Vuex进阶
- Vuex插件的开发与使用
- 严格模式
- Vuex+双向绑定
状态管理bus的使用
父子组件通信
父组件向子组件传值一定是通过属性,而子组件向父组件传值一定是通过事件的方式
v-model语法糖
v-modal是一个语法糖,相当于如下的写法:
使用bus通信
兄弟组件通信:
那么如果时跨文件的组件通信呢?我们就用到了bus:
注入bus
然后在其中一个组件传入参数
另一个组件进行接收
bus的原理就是通过$emit
来触发事件,通过$on
来监听这个事件,从而进行组件之间的通信
状态管理Vuex(一)
vuex原理图
基本配置
state和getter
可以在任何地方使用state中的属性
getter
也可以使用mapgetters
辅助函数的使用
也可以用mapState来进行赋值
模块中的state和getter的使用
模块中的getter
使用命名空间时辅助函数的使用
如果使用了命名空间:
此时使用模块中的数据的时候就只需要state点就可以了
状态管理Vuex(二)
mutation
通过mutation更新数据
一个参数的写法
mutation添加数据
注意:一开始没有的数据是不会添加get和set方法的,需要所以直接赋值时没用的,需要调用vue的set方法。
mapMutation的使用:
模块中的使用:
可以看到在模块中定义的可以直接拿来用,不需要进行模块的区分,但是如果给这个模块加上命名空间的话,就需要在调用的时候加上命名空间的名字了。
action
mutation只能做一些同步的操作,一些异步的操作需要放到action里面去
这里用到了解构赋值
也可以用this.$store.dispatch
来触发更新
module
当项目非常大的时候就要进行模块的拆分
可以通过rootState进行根节点state的获取。
注册模块:
使用的时候需要做出判断:
为模块添加子模块则需要使用数组的形式:
在action调用接口实操
action之间可以通过dispatch相互触发:
async/await使用
将上述的请求改成async和await的方式
状态管理Vuex进阶
Vuex插件的开发与使用
当浏览器刷新的时候,store中的内容会被刷新,因为它时存在内存中的,不是存在本地的。我们希望有内容能存在本地,就要定义一个存储的插件,在store初始化的时候如果local中有store则做替换,每次mutation都把更新的值存下来:
使用插件:
严格模式
严格模式是在开发的时候对规范的要求,将strict设置为true即开启了严格模式。在严格模式下,我们必须要通过commit mutation的形式才能修改store中的值,不能直接进行赋值(能成功,但是页面会报错)。
可以设置在开发环境下会报错,生产环境不会
Vuex+双向绑定
我们都知道v-model
是一个语法糖,那么将store中的数据直接用到v-model
中则很明显会产生问题,因为修改值不能直接去修改,必须要通过提交mutation进行修改
将v-model做拆分
如果还是要v-model的写法呢?将state从mapState中取出来,单独定义它的set和get方法
Lison《vue技术栈开发实战》(二)相关推荐
- Lison《vue技术栈开发实战》(一)
Lison<vue技术栈开发实战>(一) 第01章 使用vue-cli3创建项目 使用Vue UI创建.管理项目 项目结构目录整理 初始文件添加 基本配置详解 使用代理解决跨域 第02章 ...
- Lison《vue技术栈开发实战》(三)
Lison<vue技术栈开发实战>(三) Ajax请求实战 解决跨域问题 封装axios 请求拦截 响应拦截 队列管理 使用Mock模拟Ajax请求 响应模拟 Mock用法精讲 数据模板 ...
- Lison《vue技术栈开发实战》(四)
Lison<vue技术栈开发实战>(四) 从SplitPane组件谈Vue中"操作"DOM 简单两列布局 如何让两个div改变宽度 鼠标拖动效果 v-model和.sy ...
- 《Spring Boot+Vue全栈开发实战》读书笔记
写在前面 嗯,回家处理一些事,所以离职了,之前的公司用开源技术封装了一套自己的低代码平台,所以之前学的spring Boot之类的东西都忘了很多,蹭回家的闲暇时间复习下. 笔记整体以 Spring B ...
- 读书笔记《Spring Boot+Vue全栈开发实战》(下)
本书将带你全面了解Spring Boot基础与实践,带领读者一步步进入 Spring Boot 的世界. 前言 第九章 Spring Boot缓存 第十章 Spring Boot安全管理 第十一章 S ...
- ehcache springboot_阿里内部进阶学习SpringBoot+Vue全栈开发实战文档
前言 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能 ...
- Spring Boot+Vue全栈开发实战——花了一个礼拜读懂了这本书
很幸运能够阅读王松老师的<Spring Boot+Vue全栈开发实战>这本书!之前也看过Spring Boot与Vue的相关知识,自己也会使用了Spring Boot+Vue进行开发项目. ...
- 《SpringBoot+vue全栈开发实战项目》笔记
前言 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能 ...
- SpringBoot+vue全栈开发实战笔记太香了
Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速 ...
最新文章
- exgcd ---- 2020牛客多校第三场:[Fraction Construction Problem:exgcd+思维题]
- 大数据时代:从1.0到3.0 | 专访清华社会学系教授罗家德
- VS2008和VS2012怎么进行Debug模式和Release模式的切换
- MS的.net源码地址
- 跨域请求获取Solr json检索结果并高亮显示
- Flutter入门篇(一)
- web项目开发人员配比_我如何找到Web开发人员的第一份工作
- JSP九大内置对象和四大作用域和Servlet的三大作用域对象
- 【数据结构与算法基础】二叉树
- 杨老师课堂之ArrayList集合常用方法解析
- Makefile变量
- 容器技术Docker K8s 47 服务网格(ASM)-阿里云服务网络概述
- Report Machine(RM)报表控件简单用法-delphi
- 计算机图形学 :中点画圆法
- springboot+java农家乐系统-住宿-美食-活动vue
- 年薪达 35 万元,杭州成为薪酬最高的城市,北上、重庆通勤时间最久,揭晓 2022 年最具潜力的软件名城!
- 写题记录 cf G. Minimal Coverage 难度2200
- girl_noise.jpg恢复去噪
- 完全k叉树(CCPC-Wannafly Comet OJ 夏季欢乐赛(2019) A)
- 如何写一个简单的手写识别算法?
热门文章
- Zookeeper(动物园管理员)为什么需要他?分布式协调系统
- 两个月复习一鼓作气拿下CISM
- hci css是什么,2018年1月-11月11日外语学院论文被SSCI和AHCI收录情况
- python控制多台手机_Airtest操作多台云手机,进行分发,多个脚本后端调度
- Python编曲实践(十一):通过PyQt5和PyGame开发的简易MIDI电钢琴,支持键盘控制、基础存储、音符可视化及调性提示等功能
- DS18B20读取温度,序号匹配
- js新浪下拉菜单 pink
- 2022最新 VSCode + LaTex 环境搭建、问题解决
- 关于博途螺旋线参数方程
- Unity Shader 学习笔记(一)关于“表面着色器”切换渲染管线Shader不可用的问题