问题记录

203 阅读3分钟

uniapp

这段时间在接手一个项目,项目在别的电脑上都能跑起来,在自己电脑上跑会出现 TypeError:Cannot read properties of undefined (reading ‘length‘)报错,项目无法正常运行

解决方式: 刷新Hbulider中的appID,重新登录Hbulider

还是那个坑爹的项目:

问题描述:实现一个业务需求,新增一条数据,需要跳转到上一级页面,并调用服务在上一级页面展示添加的数据 问题:原本项目上的写法,使用

uni.navigateBack({
          delta: 1,
 });

返回上一级页面,导致onLoad不会触发,不会重新发起请求,调用接口,但是有一个很神奇的现象,console打印能追踪到打印的值,服务却无法调用成功 建议使用uni.navgateTo跳转业务界面

# H5中pdf预览的问题

问题描述:使用pdf.js打开预览pdf文件时,pdf的预览只能在pc端预览成功,手机端会提示下载该pdf文件 解决办法: 找到viewer.html文件位置 径

'/hybrid/html/web/viewer.html', // pdf.js的viewer.html所在路
将该地值与pdf的文件地址拼串

vue3

最近在学习vue3,刚熟悉vue3和TS的一些基本的语法,从github上面拉下来一个项目,npm 之后项目报错

image.png

1.第一步是搞明白了报错是因为node的版本和包的版本有冲突

2.下载一个node的mis的包,重新安装node,再次检查Node的版本

3.鼠标长放在上面可以得到该包的最新的更新,可以直接在package.json中修改成最新的版本

image.png

4.vue3 子组件修改父组件的传递过来的参数

vue3中props中的属性是只读属性的,无法像vue2一样直接修改,需要先用toRef双向绑定下解构出来的值,然后重新定义一个值,将解构出来的值赋值给新的值

image.png

5.vite打包出现静态资源路径丢失的问题

在vite.config.ts里面配置base:"./"

image.png

6.uniapp打包成一个小程序的外壳,再在外壳里面嵌入一个h5的页面,调用微信的sdk,会出现报错无法调试的问题,h5页面调用服务接口,在小程序模拟器里面无法查看h5页面所发出的请求,无法排查是否是接口报错,且使用小程序模拟器时无法看到发送的请求

7.碰到一个很奇怪的问题,通过封装的方法返回的本地数据,多次遍历会记住上次的数据,在当前页面赋值,或者当前页面取本地数据不会出现这个问题,但是实现方式都一样,问题导致的原因是因为出现了浅拷贝,地址被拷贝了,可能与生命周期onLoad有关系

8.记录uniapp + uvui碰到的坑,最近在根据数据库里的表的配置动态生成表单,在配置规则校验时,校验规则始终无法生效,检查代码逻辑以及数据类型均未发现错误,后进入uv-form组件源码查看,排查原因,发现mode以及rule的值,组件均未获取到,经一一对比发现ref='form'要放在mode='mode'以及rules='rules'后面,这样才能正常获取到数据。

image.png

9.记录一下最近碰到的一个 watch副作用带来的问题,表单组件里面监听了value的属性

image.png 使用表单组件时,对value的值进行了重新赋值,并再次赋值给表单,会导致死循环的问题

image.png

  1. 关于openLayers的问题记录,背景:使用openLayers接入天地图时,使用new XYZ()瓦片时会被小米手机 安卓14的系统拦截(也可能是因为安卓打包,被安卓14的系统拦截了),地图无法展示,使用new WTMS()切片时,才能正常访问到正常的地图。