Angular 两个异步对象,在调用时,一个还没加载好,报错。

发布于 2022-09-05 23:04:17 字数 520 浏览 4 评论 0

需要通过要把Tour 的Line.name显示出来。
但是我直接用这个{{filterName(tour.line)}}提示
Cannot read property 'filter' of undefined。

也许是这里line还没获取到数据?
(ngif里加个&&line对象可以解决,感觉常规做法不是这样的吧)

export class Tour {
  id:number;
  line: number;
  description: string;
  person: string;
  length: number;
  date: string;
}

export class Line{
  id:number;
  name:string;
}

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

捂风挽笑 2022-09-12 23:04:17

既然Cannot read property 'filter' of undefined那问题就出在this.lines.filter(...)linesundefined了。
那除非给lines附上初值为空数组(写在ngOnInit或者constructor里面),否则就只能加上 this.lines && this.lines.filter(...)咯。

苏璃陌 2022-09-12 23:04:17
const lname = this.lines ? this.lines.filter(line => line.id === lineID)[0].name : '加载中'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文