微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

递归列表 connat 读取未定义的属性“长度”

如何解决递归列表 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 举报,一经查实,本站将立刻删除。