我有一个日期,我想应用一种取决于语言的格式,所以我想获取包含该格式的字符串并将其用作日期格式的参数。但它告诉我该表达式没有有效的语法,怎么办?
Syntax Error: Token '{' invalid key at column 46 of the expression [resultsDate | date:{{'date.format' | translate] starting at [{'date.format' | translate].
{{ resultsDate | date:{{'date.format' | translate }} }}
答案 0 :(得分:1)
我不确定 'date.format' | translate
是否是调整日期格式本地化的正确方法。事实上,Angular date
管道接受一个 locale
参数。请参阅 here 以应用 locale
参数。
也就是说,您可以将第一个管道包裹在带有 <ng-container>
的 *ngIf
中,并利用它的 as
构造来“创建”一个局部变量。 <ng-container>
标记不会添加到其他元素中,并且会在呈现的 DOM 中被注释掉。
试试下面的方法
<ng-container *ngIf="(date.format | translate) as translatedFormat">
{{ resultsDate | date:translatedFormat }}
</ng-container>
答案 1 :(得分:0)
你可以这样做:
{{ resultsDate | date: 'translateValue' }}
内部 resultsDate 管道句柄参数 translateValue。