微信小程序渲染层错误:可以在AppData中获取到值但无法渲染到页面
在我跟着视频(bili:BV1nE41117BQ)P78 学做小程序的过程中,遇到了这个问题,希望可以给遇见这个问题的朋友提供一些借鉴:
1、遇到的问题:
跟着老师做到这里的时候,老师在goods_detail.js中是这么获取值的如下图(我用老师的代码没办法获取到goodsObj中的值):
我改成这样便可以获取到值(如下图:
但是我渲染出来是这样的 如下两图(AppData可以正常获取到值):
2、解释:
如果是AppData可以正常获取到值,但是无法渲染出来,说明渲染的时候出了问题,将AppData打开查看信息
查看goods_detail.wxml中的各个商品信息的渲染代码,这个是不对的,解决办法看下一步:
由上面可以知道,goodsObj层级下面直接是goods_introduce,所以应该将goods_detail.wxml中的商品信息渲染代码改成:
如下图
goodsObj是从url中获取到的值
goods_name:goodsObj层级下的data下的message下的goods_name获取到赋值给goods_name(其他同理
此时传回到goodsObj的时候已经获取到具体的值了,如果此时再渲染,应该直接{{goodsObj.goods_name}}就可以获取到对应的值,(此时看AppData,goodsObj层级下就直接是在setData的时候赋的值的内容)
3、附上正确的完整代码:
goods_detail.wxml:
goods_detail.js:
希望能够给遇到这个问题的小白提供一点帮助