如何解决递归列表 connat 读取未定义的属性“长度”
library("VIM")
data(sleep)
x <- as.data.frame(abs(is.na(sleep)))
head(sleep)
head(x)
y <- x[which(sapply(x,sd) > 0)]
cor(y)
TS
<ul>
<ng-container
*ngTemplateOutlet="recursiveListTmpl; context:{ list: famillies }"
></ng-container>
</ul>
<ng-template #recursiveListTmpl let-list="list">
<li *ngFor="let item of list">
{{ item.libelle }}
<ul *ngIf="item.famillies2.length != 0">
<ng-container
*ngTemplateOutlet="recursiveListTmpl; context:{ list: item.famillies2 }"
></ng-container>
</ul>
</li>
</ng-template>
结果显示第一个家庭和它的第一个孩子,那么家庭 2 是未定义的,我应该在第一个家庭中得到 2 个孩子。
解决方法
递归时,最后一个子节点可能没有 @JsonFormat(pattern="yyyy-MM-dd hh:mm",timezone="GMT+8")
属性。换句话说,您必须提供一个条件来停止递归调用。
选项 1:Short circuit (&&
)
famillies2
选项 2:安全导航操作符 (<ul *ngIf="item && item.famillies2 && item.famillies2.length && item.famillies2.length != 0">
<ng-container
*ngTemplateOutlet="recursiveListTmpl; context:{ list: item.famillies2 }"
></ng-container>
</ul>
)
?.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。