收藏
回答

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

问题模块
API和组件


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

最后一次编辑于  2017-11-07  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • LastLeaf
    LastLeaf
    2017-11-07

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

    2017-11-07
    赞同 1
    回复
  • raphealguo
    raphealguo
    2017-11-07

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

    2017-11-07
    赞同
    回复
  • 王三刀
    王三刀
    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
    赞同
    回复