- 博客(39)
- 收藏
- 关注
原创 uniapp根据不同手机型号自动获取可视区域高度(不含导航栏)
核心推荐:直接用,这是 uniapp 封装好的 “不含导航栏的可视区域高度”,跨端通用、无需手动计算。如需知道导航栏具体高度:微信小程序用胶囊按钮推导,APP/H5 用固定值(44px/48px)。无需自定义导航栏时,是最省心的选择,已自动帮你扣除所有系统栏高度,直接赋值给元素高度就能撑满可视区域。
2026-03-05 18:00:00
153
原创 uniapp使用picker-view地址弹框,解决首次加载没有数据展示的问题
父组件通过控制子组件渲染时机,避免首次传空值。子组件通过watch监听父组件传值,确保数据更新后同步更新内部列表。异步数据要处理「加载状态」,子组件要监听父组件传值变化,这是 Vue 父子组件传异步数据的通用解决方案。这样修改后,首次打开时子组件要么等数据加载完再渲染,要么能监听到数据更新,彻底解决「传值为空」的问题。
2026-03-05 11:25:09
305
原创 vue3项目报错runtime-core.esm-bundler.js:5766 Uncaught (in promise) TypeError: Cannot destructure propert
这个错误在 Vue3 + Element Plus 表格场景中非常典型,核心原因是null,导致 Element Plus 表格内部处理时出错。
2026-03-05 11:11:43
85
原创 前端面试题
Vue 的响应式原理是Object.defindeProperty 中的访问器属性中的 get 和 set 方法,当读取 data 中的数据时自动调用 get 方法,当修改 data 中的数据时,自动调用 set 方法,检测到数据的变化,会通知观察者 Wacher,观察者 Wacher自动触发重新render当前组件,生成新的虚拟 DOM 树,Vue 框架会遍历并对比新虚拟 DOM 树和旧虚拟 DOM 树中每个节点的差别,并记录下来,最后,加载操作,将所有记录的不同点,局部修改到真实 DOM 树上。
2026-01-02 11:41:37
678
原创 vue3项目中使用了echarts图标,改变窗口大小如何让图表大小跟着改变(自适应)?
原理:窗口尺寸大小只要发生变化,useResizeObserver函数就会调用,然后执行echars中的resize方法,就能够实现。具体参数就不详细讲了。我项目中用到了VueUse中的useResizeObserver(窗口监听尺寸方法)传入ref定义的el元素,在函数中执行echars自带的resize方法即可。然后引入VueUse的useResizeObserver方法。需要在echars组件定义ref拿到它的dom元素。echars的resize方法。
2025-12-19 22:45:45
283
原创 vue3使用transition组件,实现过度动画
离开动画的生效状态。在离开过渡效果被触发时立即添加,在过渡或动画完成之后移除。在元素被插入之前添加,在过渡或动画完成之后移除。动画效果:从透明变成不透明,然后再从不透明变成透明,每次切换页面就能触发动画效果。:进入动画的起始状态。在元素插入之前添加,在元素插入完成后的下一帧移除。:离开动画的结束状态。在一个离开动画被触发后的下一帧被添加 (也就是。:离开动画的起始状态。在离开过渡效果被触发时立即添加,在一帧后被移除。被移除的同时),在过渡或动画完成之后移除。被移除的同时),在过渡或动画完成之后移除。
2025-12-19 14:31:45
377
原创 前端vue3项目使用nprogress动画组件,实现页面加载动画
4.使用路由守卫,router.beforeEach全局前置守卫,router.afterEach全局后置守卫。3.定义公共方法,这里将使用nprogress动画组件的方法,start(开始)和done(结束)1.首先在main.ts中引入nprogress.css文件,你项目应该时main.js。如果样式不行,可以自己进行更改,在app.vue里定义它的样式即可。在项目中使用了nprogress动画组件,简单记录一下。引入定义的公共方法,并进行使用,开启loading。2.引入nprogress。
2025-12-13 16:55:11
430
原创 使用vue3结合requestAnimationFrame计算网页的帧数FPS
使用vue3结合requestAnimationFrame计算网页的帧数FPS
2024-01-26 17:55:28
1110
1
原创 SQL优化
字段是int,用string进行查询时,mysql会自动转化,可以走索引,如:select * from user where id = '1';优化的方法如下:可以取前一页的最大行数的id,然后根据这个最大的id来限制下一页的起点。执行子查询时,需要创建临时表,查询完毕后,需要再删除这些临时表,有一些额外的性能消耗。关键字后,可以获取排重后的数据,排重的过程需要遍历、排序和比较,它更耗时。当连接查询有where条件时,带where条件的表是驱动表,否则是被驱动表。然后把它作为条件,去跟右边的语句匹配。
2023-12-17 17:08:11
207
原创 springboot配置文件bootstrap(yml,properties)和application(yml,properties)说明
springboot配置文件bootstrap(yml,properties)和application(yml,properties)说明
2023-12-14 21:42:57
974
原创 springboot整合shiro启动报 No SecurityManager accessible to the calling code...错误
springboot整合shiro启动报 No SecurityManager accessible to the calling code...错误
2023-12-13 20:03:47
1770
4
原创 报Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String错误
报Invalid value type for attribute 'factoryBeanObjectType': java.lang.String错误
2023-12-10 20:45:09
4773
2
原创 This application has no explicit mapping for /error, so you are seeing this as a fallback.异常解决
This application has no explicit mapping for /error, so you are seeing this as a fallback.异常解决
2023-11-17 15:24:55
4374
1
原创 java项目工具类分享:文件上传、密码md5加密、jwt-token生成、cors跨域
java项目工具类分享:文件上传、密码md5加密、jwt-token生成、cors跨域
2023-11-16 22:34:14
392
1
原创 java(springboot)项目返回前端json格式数据封装
Serializable是一种接口,用于实现对象的序列化和反序列化。序列化是指将对象转换成字节序列的过程,用于存储对象的状态或传输对象。注意看区别,方法名相同,但参数列表不同,这里就构成了重载了。在类中实现 Serializable 接口,主要用于序列化,他没有要实现的接口,只是为了声明当前这个类被序列化了。我在controller层返回这个自己定义的BaseEntity类型,只需把前端需要的值传入进去就行了。编写 调用成功的静态方法success,和调用失败的静态方法error。
2023-11-15 19:21:33
440
原创 vue2前端使用axios发起post请求,后端(springboot)拿不到值解决办法
vue2前端使用axios发起post请求,后端(springboot)拿不到值解决办法
2023-11-09 21:00:22
5547
1
原创 MySQL数据库创建省级和城市表
102县级单位(38个市辖区、24个县级市、37个县、2个自治县、1个林区),共有1220个乡级单位(277个街道、733个镇、210个乡)。-- 20广东省(截至2005年12月31日,广东省辖:21个地级市,54个市辖区、23个县级市、41个县、3个自治县,429个街道办事处、1145个镇、4个乡、7个民族乡。('黔西南布依族苗族自治州',23),('红河哈尼族彝族自治州',25),('德宏傣族景颇族自治州',25),('文山壮族苗族自治州',25),('西双版纳傣族自治州',25),
2023-11-07 12:55:53
678
原创 java-Spring+SpringMVC+MyBatis整合后端实现分页查询
java-Spring+SpringMVC+MyBatis整合后端实现分页查询
2023-10-30 16:26:10
396
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅