Vuex是一个专为Vue.js应用程序开发的状态管理模式+库,专为解决下面两个问题:
- 多个视图依赖于同一状态。
- 来自不同视图的行为需要变更同一状态。
核心内容(成员列表):
Vuex核心流程图如下
安装Vuex
引用
创建Vuex实例对象,类比创建Vue实例对象
在main.js中引入模块即可
挂载到Vue实例中
举例:提交单个值
添加成员
删除成员
调用取值
这样所有组件都可以使用Vuex中的值,取值代码如下:
Vuex代码
组件中代码
其对应操作state、getters、mutations和actions中的数据或方法,简化调用方式。
mapState和mapGetters在computed中使用。
mapMutations的作用是把store中mutation内的方法映射到组件methods属性中,可以在组件中直接使用mutation里面的方法。
mapActions类似mapMutations,把store中actions内的方法映射到组件methods属性中,可以在组件中直接使用actions里边的方法。
mapMutations和mapActions在methods中使用。
1、ref函数:将普通数据变成响应式数据 在数据层(js中),通过.value获取数据;在视图层(html),不需要.value就能获取数据。
2、reactive函数:将对象和数组这类复合数据类型数据变成响应式数据。
为了提高代码的复用性,在Vue3.x新增的setup()函数,是Composition API的入口函数,可将每个功能写在一起。
在父组件中使用provide()函数,向后代传递数据; 在后代组件中使用inject()函数,获取后代传递过来的数据。
前端跨域配置如下:
在java后端可用配置类设置跨域
下载npm i qs -D
引入import qs from ‘qs’
方法一:
方法二:
sessionStorage的生命周期是在浏览器关闭前。
使用window.open打开页面和改变location.href方式都可以获取到sessionStorage内部的数据。
localStorage的生命周期是永久性的。关闭浏览器也不会让数据消失, 除非主动的删除数据。
event.offsetX
event.offsetY
以上两个结合获取当前鼠标定位坐标
event.stopPropagation()阻止冒泡事件方法
路由传参
1、router-link标签
2、修改匹配规则
路由嵌套(二级路由)
过滤器用于数据输出之前的处理,分为私有过滤器和全局过滤器。
如在创建数组中,判断数组是否包含某值。
去除空字符串
数组去重
全局过滤器在main.js中定义。
watch侦听属性,用于侦听data中数据的变化,只要有变化,就会触发watch侦听属性,侦听属性的方法名要与侦听的变量名一致。
可以参考教程
step1、安装vue-pdf
step2、在组件中使用