在从版本5升级到6后的Angular应用程序中,使用DatePipe时发生此错误.
我正在保存mat-date- picker在Cloud Firestore中创建的Date()对象,其名称为date_field,当返回时尝试在屏幕上显示给用户但不显示.
我检查了数据库,它正确保存,但我无法在child_name字段中为用户显示在屏幕上.
当您尝试在mat-table中显示date_field列并使用DatePipe格式化日期错误时.
以下是HTML代码:
<ng-container cdkColumnDef="data_nascimento">
<mat-header-cell *cdkHeaderCellDef mat-sort-header fxHide fxShow.gt-xs>Data de nascimento</mat-header-cell>
<mat-cell *cdkCellDef="let paciente" fxHide fxShow.gt-xs>
<p class="text-truncate">{{paciente.data_nascimento | date}}</p>
</mat-cell>
</ng-container>
Run Code Online (Sandbox Code Playgroud)
升级到Angular 6后,出现以下错误:
ERROR Error: InvalidPipeArgument: 'Unable to convert "Timestamp(seconds=1531364400, nanoseconds=0)" into a date' for pipe 'DatePipe'
at invalidPipeArgumentError (common.js:4238)
at DatePipe.push../node_modules/@angular/common/fesm5/common.js.DatePipe.transform (common.js:5151)
at checkAndUpdatePureExpressionInline (core.js:10801)
at checkAndUpdateNodeInline (core.js:11375)
at checkAndUpdateNode (core.js:11333)
at debugCheckAndUpdateNode (core.js:11970)
at debugCheckRenderNodeFn (core.js:11956)
at Object.eval [as updateRenderer] (PacientesComponent.html:81)
at Object.debugUpdateRenderer [as updateRenderer] (core.js:11948)
at checkAndUpdateView (core.js:11320) …Run Code Online (Sandbox Code Playgroud) 我的问题如下:
throw new HttpException(422, "some message") 在控制器中不起作用.
然而,throw new HttpException(404, "some message")作品,以及400(等)
为什么我不能HttpException使用422 HTTP状态代码?
当我尝试时,我得到一个[200]响应与以下调试信息:
致命错误:在供应商\ symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php中的消息'注意:未定义偏移量:422 in app\cache\dev\classes.php第3079行' 未捕获异常'ErrorException' 67
(!)ErrorException:注意:未定义的偏移量:第67行的vendor\symfony\src\Symfony\Component\HttpKernel\Debug\ErrorHandler.php中的app\cache\dev\classes.php第3079行中的422
(如果它重要的话我使用FOSRESTBundle ......当然我清除了缓存)