子组件在标有wx:if的情况下子组件的触发是立即触发,而不是等条件成立后触发!
如以下代码示例,子组件的attached应该在2s后才会触发,但结果却立即触发。
代码片段:https://developers.weixin.qq.com/s/cjbrRum477kF
部分代码示例
// component/test.js
Component({
/**
* 组件的属性列表
*/
properties: {
name: {
type: String,
value: 1
}
},
/**
* 组件的初始数据
*/
data: {
show: false
},
lifetimes: {
attached() {
console.log('test component attached: ' + this.data.name + ' ' + Date.now())
setTimeout(() => {
this.setData({
show: true
})
}, 2000)
},
},
// 兼容
attached() {
console.log('test component attached: ' + this.data.name + ' ' + Date.now())
setTimeout(() => {
this.setData({
show: true
})
}, 2000)
},
})
// test.wxml
<slot wx:if="{{show}}" ></slot>
// 使用
<test name="1">
<test name="2">
嵌套测试
</test>
</test>
确实有问题,官方怎么还没处理?
遇到了同样的问题,楼主解决了吗
将该组件放到淘宝小程序跑,输出结果是没问题的。
测试了下没发现有问题