收藏
回答

自定义组件为什么比页面的onload还先执行?


如果直接使用自定义组件star,在页面的onload中执行的代码是在star组件执行之后的,导致在onload中修改的info.star数据传递不过去,组件不能正常显示,后来在外层使用wx:if判断使组件重新渲染后数据才能传递过去,这种情况怎么破啊?

回答关注问题邀请回答
收藏

4 个回答

  • LastLeaf
    LastLeaf
    2017-11-07

    页面的onLoad执行时机确实是在所有组件初始化完成之后的。

    2017-11-07
    有用 1
    回复
  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2017-11-07

    JS 代码怎么写的,看描述不是很清晰,请给出代码示例

    2017-11-07
    有用
    回复
  • roar.
    roar.
    2020-03-09

    为什么我按你加的if后没有重新渲染。有再碰到过类似的问题吗

    2020-03-09
    有用
    回复
  • 王三刀
    王三刀
    2017-11-07


    onload中先请求数据,返回的数据res.data.info是一个对象,然后把res.data.info设置给data中的info

    wxml中用info进行渲染,info.star是星星组件的评分,但是组件不能根据info.star的值正常显示分数,会显示0分,因为组件里的js比这个页面的onload先执行,所以渲染组件的时候{{info.star}}相当于undefined,除非在星星组件的父元素上添加wx:if属性,才能正常显示

    2017-11-07
    有用
    回复 1
登录 后发表内容