如题,我在测试页面的列表渲染正常,作为组件后列表渲染失效
WXML如下:
<view class="container">
<view class="day {{item.record?'dayRecord':''}}" wx:for="{{dateList}}" wx:key="date">
{{item.date}}
</view>
</view>
js:
created:function(){
let dayCount = this.getDayCount(2020, 5);//获得这个月的天数
console.log(dayCount);// 打印值31,正确
let dateList = [];
for (let i = 1; i <= dayCount; i++) {
let date = {};
date.date = i;
if (i % 5 == 0) {
date.record = true;//判断是否打卡
}
date.record = false;//判断是否打卡
dateList.push(date);//放入列表
}
console.log(dateList);//列表打印值正常
this.setData({ dateList: dateList });
}
组件打印的dateList值如下:
然后dateList无误的情况下,列表渲染失败,如下:
而同样代码,在非组件的test页面测试渲染结果正常:
请问各位大佬这是什么问题??
问题已解决:
组件实例刚刚被创建好时,
created
生命周期被触发。此时,组件数据this.data
就是在Component
构造器中定义的数据data
。 此时还不能调用setData
。 通常情况下,这个生命周期只应该用于给组件this
添加一些自定义属性字段。把created 改为 attached