生命周期在wx:if下触发时机Bug
子组件在标有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>