小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如果直接使用自定义组件star,在页面的onload中执行的代码是在star组件执行之后的,导致在onload中修改的info.star数据传递不过去,组件不能正常显示,后来在外层使用wx:if判断使组件重新渲染后数据才能传递过去,这种情况怎么破啊?
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
页面的onLoad执行时机确实是在所有组件初始化完成之后的。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
JS 代码怎么写的,看描述不是很清晰,请给出代码示例
为什么我按你加的if后没有重新渲染。有再碰到过类似的问题吗
onload中先请求数据,返回的数据res.data.info是一个对象,然后把res.data.info设置给data中的info
wxml中用info进行渲染,info.star是星星组件的评分,但是组件不能根据info.star的值正常显示分数,会显示0分,因为组件里的js比这个页面的onload先执行,所以渲染组件的时候{{info.star}}相当于undefined,除非在星星组件的父元素上添加wx:if属性,才能正常显示
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
页面的onLoad执行时机确实是在所有组件初始化完成之后的。
JS 代码怎么写的,看描述不是很清晰,请给出代码示例
为什么我按你加的if后没有重新渲染。有再碰到过类似的问题吗
onload中先请求数据,返回的数据res.data.info是一个对象,然后把res.data.info设置给data中的info
wxml中用info进行渲染,info.star是星星组件的评分,但是组件不能根据info.star的值正常显示分数,会显示0分,因为组件里的js比这个页面的onload先执行,所以渲染组件的时候{{info.star}}相当于undefined,除非在星星组件的父元素上添加wx:if属性,才能正常显示