欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

微信小程序里面的自定义组件为什么比页面的onload还先执行? 有大用

微信小程序里面的自定义组件为什么比页面的onload还先执行?

  • 回答 (2)

  • 关注 (0)

  • 查看 (1497)


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

2 个回答

太原第一养猪厂厂长回答于
推荐

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

Tabor


我是大脸我骄傲,一天用掉半瓶料。修改于


详细代码如下:





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

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

我的理解是 ajax 是异步的吧 


来自  https://cloud.tencent.com/developer/ask/25035

普通分类: