小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
- 预期表现
这是通过数据绑定获取的数据,如果希望在attached时做一些setdata的操作 怎样才能取到它的值呢?
- 复现路径
- 提供一个最简复现 Demo
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
attached
this.data
我怀疑你是请求数据还没成功的时候就去渲染了自定义的组件,因为你数据还没请求到,你的自定义组件已经渲染了一次,请求成功之后再setState,此时你的自定义组件已经被初始化了,attached已经不会再走了,你在父组件再怎么set,都不会走这个函数了,所以你拿到的是空。
写代码的基础逻辑好好考虑考虑 弟弟。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
attached(){
// 出处调用不显示
}
ready(){
// 出处调用显示
方便做个代码片段吗?另外我其实组件经常用 observer来确保 properties有值的。。
数据是调用该组件的主组件通过api获取,然后传递进来的,代码片段写不了吧?但是在本地模拟数据,通过相同的方式传递到子组件时不会发生这种情况
尝试了一下observer,成功了,谢谢
不谢,记得在 observer里 this.setData给自己赋值要小心哦。。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
attached
生命周期被触发。此时,this.data
已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。我怀疑你是请求数据还没成功的时候就去渲染了自定义的组件,因为你数据还没请求到,你的自定义组件已经渲染了一次,请求成功之后再setState,此时你的自定义组件已经被初始化了,attached已经不会再走了,你在父组件再怎么set,都不会走这个函数了,所以你拿到的是空。
写代码的基础逻辑好好考虑考虑 弟弟。
attached(){
// 出处调用不显示
}
ready(){
// 出处调用显示
}
方便做个代码片段吗?另外我其实组件经常用 observer来确保 properties有值的。。
数据是调用该组件的主组件通过api获取,然后传递进来的,代码片段写不了吧?但是在本地模拟数据,通过相同的方式传递到子组件时不会发生这种情况
尝试了一下observer,成功了,谢谢
不谢,记得在 observer里 this.setData给自己赋值要小心哦。。