初始写法
报错
问题原因
dom 树加载之初,还没拿到数据,就加载了,因此在上边判断取不到值,导致页面构建不出来
解决方案
开始我放在$nextTick里也不行,原因可以参考这篇文章:
然后使用计算属性解决了问题,修改后的代码
<vue-seamless-scroll
v-if="getodayAlarmTypeNum.length >= 10"
:data="getodayAlarmTypeNum"
:class-option="classOption"
class="warp"
>
<li v-for="(item, index) in getodayAlarmTypeNum" :key="index">
<span>{{ item.alarmTimeStr }}</span>
<span v-if="item.status == 0" style="color:#E64444">{{
item.statusStr
}}</span>
<span v-if="item.status == 1" style="color:#32B8FE">{{
item.statusStr
}}</span>
<span v-if="item.status == 2" style="color:#7183FC">{{
item.statusStr
}}</span>
<span>{{ item.remark }}</span>
</li>
</vue-seamless-scroll>
props: {
todayAlarmTypeNum: {
type: Array
}
},
computed: {
getodayAlarmTypeNum: function() {
var data = this.todayAlarmTypeNum.find(
item => item.arithmeticId === this.activeIndex
) || { alarmList: [] };
return data.alarmList;
}
},