Angular 阵列中的角度2过滤器对象

Angular 阵列中的角度2过滤器对象,angular,filter,Angular,Filter,我想访问一个已存档的项目 msgs : []; canReply() { var res = this.msgs.filter(a => a.ReplyId === null); if (res[0].StatusType >= 3) return false; else return true; } 但是让我看看 无法读取未定义的属性“StatusType”很可能您的模型[0

我想访问一个已存档的项目

msgs : [];

  canReply() {
          var res = this.msgs.filter(a => a.ReplyId === null);
            if (res[0].StatusType >= 3)
          return false;
      else
          return true;
  }
但是让我看看
无法读取未定义的属性“StatusType”

很可能您的模型[0]未定义。这可能是因为您填充模型的方式,可能是通过异步调用,那么您访问statusType的代码应该在Callback方法中,或者在promise之后,在angular中使用$q。如果模型的长度大于0或小于0,请检查要调试的开发工具。

您可以更详细地描述什么是模型?您应该提供更多信息。你确定至少有一封邮件没有回复吗?为什么不做这个检查呢?您正在将一个名为
msgs
的东西过滤到一个新的列表中,您可以调用
res
。然后检查名为
model
的对象,并且不再使用
res
。你可能混淆了变量吗?sry我的朋友我用angular修正了$q,我想他指的是angular而不是angular js?我的问题是错的,我修正了。这个.msgs有属性I意味着angular的承诺和angularJSplz的$q帮助我,我的朋友