现在只能先凑合用,希望这个问题官方能尽快找到源头吧,确实是怪得有些稀奇。。。
tab页使用grid布局失效- 当前 Bug 的表现(可附上截图) 使用完全一样的页面代码(html,css,json,js),tab页面使用grid布局会完全失效然后直接导致之后即使取消grid都继续出现了一些奇怪的问题(即使我取消grid布局,原本设置的class里边给的背景色和边框圆角都继续失效,仿佛是class的样式全部失效,之所以下边有背景色是因为我是从style给的。一个有用的线索是我给class赋值的时候采用了mustache语法,在里边使用了三元运算符,返回的是字符串。style赋值也用了mustache,不过这次只是单纯表达式了),而普通页面就保持正常。猜测是编译问题。开发者工具上的布局无论是tab还是普通页面都是正常的,问题发生在客户端。 [图片] [图片] - 预期表现 tab页正常显示grid布局 - 复现路径 - 提供一个最简复现 Demo 给不了,可自行操作复现,绝对不是来挑刺的,我也不想遇到这种问题,因为太难排查了,首先都想是自己哪里写错了,但是始终都找不到。
2019-04-04好吧,我刚刚写完问题,就找到原因了。。。 是这样的,因为我需要的属性名是一个变量的原因,我不得不使用defineProperty来给对象定义属性,这样就可以直接把变量的值作为属性而不是变量名被当做属性。但是似乎对对象里的对象属性使用Object.defineProperty的时候,需要强调一下enumerable为true,如果不强调光写value的话,似乎默认会给一个false,因此就导致JSON.stringfy排除了这个属性,那么你存到缓存的时候就根本没存这个属性进去,自然你重载app之后就看不到这个属性了。 为什么会想到这里呢?因为我看控制台忽然发现这个属性是浅色的,我就在想会不会是这个原因,然后又联想到我用defineProperty方法的时候只写了value,其他enumerable,writable这些属性都没有配置,说不定就是这里的原因,结果一试还真是这样! 这个解答留给日后碰到和我一样问题的小伙伴。
微信小程序无法保存对象中的对象的属性到本地缓存- 需求的场景描述(希望解决的问题) [图片] [图片] 第二张图是最后一行代码所打印出的结果,group是bills数组里的对象的属性,也是一个对象。已经使用api存入缓存了对吧,从控制台打印的结果可以知道group是有属性的,但是,重载app之后,控制台打印的结果中group没有属性了。 [图片] [图片] 如图,我在拿到缓存后就立马打印了,这个时候group就已经没有属性了。 所以我判断是在调用api的时候,导致这个对象里的对象的属性没有存入缓存,具体是什么原因我也不明白,如果有懂的朋友,希望帮我解答下。 - 希望提供的能力 因为我在控制台尝试过,用JSON.stringfy是完全可行的,但是为什么这里不行?所以这个地方是什么原因,希望能给我解答一下,谢谢。 我也会继续寻找可能的原因。
2019-02-20