页面[components/listCard/listCard]错误: TypeError: Cannot read property ‘name‘ of undefined
这个问题非常的坑
因为我早上完成了小程序的一些功能之后便开始午休
午休好了之后我打算继续开发小程序
此时,微信开发者工具要求我进行更新
我更新好了之后,就一直跳出来这个错误
我找了网上的方法,百度出来的方法千篇一律,基本上都没啥用
对于自己写的组件下面这个方法可能有用
解决方法之一
但是我改好了之后,其他的UI组件报错了,这些组件是通过node_modules进行打包构建的
所以我肯定不能改他里面的东西
而且把它里面的东西全部改了也太傻了点,不符合我们身为程序员的风格
于是我索性把自己写的组件先删除试一下
果然也是其他UI组件的报错
于是我就找我之前写的一个小程序来试一下
发现可以运行,于是我就看详情
发现里面唯一不一样的地方就是调试基础库
而且我也没改其他的东西,就是更新了一下微信开发者工具
于是我就改了一下这个调试基础库试了一下,发现果然是这个问题
特写于此,希望遇见相同问题的同学们可以有个参考。
既然这个写了,那么我就写一下之前遇的另一个bug
苹果手机日期的兼容性问题
苹果手机的 new Date(time)
不支持以 ‘YYYY-MM-DD’ 为格式所传入的参数
也就是说不能解析 YYYY-MM-DD 形式的日期格式
就很奇怪,也不知道啥原因
但是它支持 YYYY/MM/DD 形式的日期格式
同时也支持时间戳
如果后端返回的数据格式是 -07-19T06:33:50.000000Z
类似的这种格式
我们需要提取他的日期和时间在进行解析
我这里写了一个格式化时间的轮子
也希望能够帮助到大家
// 格式化时间const formatDate = function (time, format = "yyyy-MM-DD") {if (time[time.length - 1] === "Z") {let timeArr = time.split("T");timeArr[1] = timeArr[1].split(".")[0];time = timeArr[0].replaceAll("-", "/") + " " + timeArr[1];}let t = new Date(time);let tf = function (i) {return (i < 10 ? "0" : "") + i;};return format.replace(/yyyy|YYYY|MM|dd|DD|HH|hh|mm|ss|SS/g, function (a) {switch (a) {case "yyyy":return tf(t.getFullYear());break;case "YYYY":return tf(t.getFullYear());break;case "MM":return tf(t.getMonth() + 1);break;case "dd":return tf(t.getDate());break;case "DD":return tf(t.getDate());break;case "hh":return tf(t.getHours());break;case "HH":return tf(t.getHours());break;case "mm":return tf(t.getMinutes());break;case "ss":return tf(t.getSeconds());break;case "SS":return tf(t.getSeconds());break;}});};
希望对你们有所帮助,如果可以的话希望顺路来看看我的博客哦
新的博客
以前的博客