Angular2:具有异步管道的日期管道

Angular2:具有异步管道的日期管道,angular,Angular,我设置此代码是为了打印订阅源日期字段: <div class="col-xs-8"> <span class="text-light fs-mini m"> {{((user$ | async).validation) | date: 'dd/MM/yyyy'}} </span> </div> 他告诉我: 错误:承诺中未捕获:类型错误:未定义co.user 我不得不说,当我添加日期管道时,问题就出现了。用户$| async.val

我设置此代码是为了打印订阅源日期字段:

<div class="col-xs-8">
  <span class="text-light fs-mini m">
    {{((user$ | async).validation) | date: 'dd/MM/yyyy'}}
  </span>
</div>
他告诉我:

错误:承诺中未捕获:类型错误:未定义co.user

我不得不说,当我添加日期管道时,问题就出现了。用户$| async.validation无需格式化即可正常工作。

用户$| async.validation解析为未定义,然后传递到日期管道

我建议您通过组件中的订阅解决问题,然后:

 <div class="col-xs-8">
  <span class="text-light fs-mini m">
    {{ user.validation | date: 'dd/MM/yyyy' }}
  </span>
</div>
或者类似的东西:

 <div class="col-xs-8">
  <span *ngIf="user$ | async" class="text-light fs-mini m">
    {{ user$.validation | async | date: 'dd/MM/yyyy' }}
  </span>
</div>

或者创建一个接受观测值作为参数的自定义。

从Angular 6开始,我认为您也可以在async上使用as syntak

 <div class="col-xs-8">
  <span *ngIf="user$ | async as user" class="text-light fs-mini m">
    {{ user.validation | date: 'dd/MM/yyyy' }}
  </span>
</div>

这篇文章值得一读

试试这个{user$| async?.validation | date:'dd/MM/yyyyy'}}它一直在失败…你能在你的组件用户$@Jordi user$| async?中添加更多的代码吗?验证会解析为未定义的代码,并将其返回给你的日期管道。