- 博客(26)
- 收藏
- 关注
原创 vue3 子组件watch父组件数据会改变父组件数据
vue3父子组件传递数据,如果想改变基本都是通过emits但是突然发现对父组件数据进行深度监听,子组件在修改赋值的数据,会,这样确实省去了emits据了解,应该是拷贝问题,传递进来的在赋值时,是直接赋值,并未做深拷贝,导致数据指向一致,子组件数据修改,间接影响到了父组件数据。
2025-05-27 09:40:21
206
原创 pdfjs-dist大文件加载优化
本文介绍了一种优化PDF页面加载的方法,通过使用IntersectionObserver监听元素进入视口前100px时进行渲染,避免一次性加载过多PDF页面导致移动端崩溃。代码中,首先通过pdfjsLib加载PDF文件,并根据pageType参数将页面分组。随后,在nextTick中为每个页面容器设置观察者,当页面进入视口时调用renderPage方法进行渲染。renderPage方法根据容器宽度和PDF页面尺寸计算缩放比例,并通过Canvas渲染PDF内容。该优化方法显著提升了PDF加载速度
2025-05-12 09:38:20
191
原创 assign和解构赋值区别
方法做了地址值比较,后面发现的这个问题,代码中赋值还是尽量少用解构,容易出现这种奇怪的问题。具体可以看代码能看出来,这里用解构赋值发现请求的。中出现,也就产生了未更新的效果,这里后面通过。自带的,直接绑定到data的值,在。,所以才有了这篇文章,主要是。这里bug的产生相当于是。,所以这里没有在接口的。
2025-03-27 14:43:28
264
原创 js实现简体繁体切换
/ 简繁映射表(示例,实际应用中需要更全面的映射)需要简繁对照表,文字少可以用 文字多推荐用库。// 繁简映射表(反向映射)// 判断当前是简体还是繁体。// 获取页面上的文本元素。// 转换函数 主要函数。// 转换按钮点击事件。
2025-03-24 12:16:35
354
原创 同一个播放源video刷新后无法再次播放
这里好像是缓存问题,简单的解决办法就是拼接params,给地址增加个params参数,随机数,时间戳都可以,只要跟上一次的地址不同就可以。问题起因:请求接口返回的播放地址第一次正常播放,刷新页面后再次请求,虽然是同一个地址,但是一直转圈加载。
2024-07-24 16:35:26
307
原创 通过一个video获取所有视频时长
标签,并且你有权限访问所有视频文件。此外,由于浏览器的同源策略,你可能需要确保视频文件的服务器支持跨域资源共享(CORS)。如果视频文件不在同一个域上,你可能需要服务器端的支持来设置适当的CORS头部。在JavaScript中,如果你想要获取一个视频数组中所有视频的时长,但是页面上只有一个。标签,你可能需要使用JavaScript来动态地更改这个标签的。属性来加载不同的视频文件,并在每次加载完成后获取视频的时长。请注意,这个示例代码假设你的HTML页面中已经有一个。
2024-06-11 15:13:58
1345
原创 小程序计算nav-bar
计算公式:statusBarHeight + height + (top - statusBarHeight) * 2。在app.js中进行计算,之后放入全局,封装component,
2024-05-15 09:40:25
526
原创 uni和普通项目通过computed实现双向绑定的区别
uni项目如果想通过computed实现双向绑定的话需要在set中return出去val。普通项目直接发就可以,为什么会有这个区别我也不知道。
2024-03-23 16:20:14
160
原创 小程序权限tabbar问题汇总
需求是默认登录 三个tabbar,登录后通过权限判定展示对应的tabbar根据需求,需要自定义tabbar,根据官方文档配置即可问题登录后,权限对应着正确的tabbar,在pc端模拟器一切正常,真机调试tabbar闪烁,而且会跳转到错误的tabbar解决1.在custom-tab-bar的js跳转中,通过wx.reLaunch跳转,但是页面会频繁闪烁2.增加了一个空页面,在登录后跳转到空页面,在空页面的onLoad方法直接跳转回首页,这样完美解决了跳转后tabbar不对应问题,并解决了.
2022-01-20 09:19:06
726
原创 小程序自定义nav-bar组件
app.js整个导航栏高度 = statausBarHeight + height + (top-statausBarHeight )*2;胶囊按钮与顶部的距离 = top;胶囊按钮与右侧的距离 = windowWidth - rightonLaunch() { let menuButtonObject = wx.getMenuButtonBoundingClientRect(); wx.getSystemInfo({ success: (res) => { let status.
2021-11-03 17:30:15
214
原创 axios请求封装简版
axios封装请求封装import axios from 'axios'import router from './router/index'import { message} from 'element-ui';import qs from 'qs'function getToken() { if (localStorage.getItem('token')) { let token = localStorage.getItem('token') return
2021-03-10 15:20:40
131
原创 解决git每次更新提交都需要输入用户名密码
解决git每次更新提交都需要输入用户名密码输入命令git config --global credential.helper store之后再操作git的拉取或提交,重新输入一次用户名、密码,后续就不需要输入了
2021-02-26 10:22:51
1020
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人