angular-translate を使用しており、日付/時刻のローカリゼーションを行う必要があります。
したがって、変数の置換を行う angular-translate フィルターのフィルター引数に時間形式フィルター (角度モーメント) を適用する必要があります。
ただし、これは angular-translate および angular-moment とは無関係の一般的な問題/ユース ケースである必要があります。
引数のフィルタリングがなければ機能します(ただし、ローカライズされた時間形式はありません):
<div data-ng-repeat="msg in data.messages">;
{{msg.text | translate:{timestamp: msg.timestamp } }}
</div>
動作しません:
<div data-ng-repeat="msg in data.messages">
{{msg.text | translate:{timestamp: msg.timestamp | amDateFormat:'LT'} }}
</div>
構文エラーが発生しています:
Error: [$parse:syntax] Syntax Error: Token '|' is unexpected, expecting [}] at column 73 of the expression [msg.text | translate:{timestamp: msg.timestamp | amDateFormat:'LT' } ] starting at [| amDateFormat:'LT' } ].
http://errors.angularjs.org/1.2.15/$parse/syntax?
2番目の推測も機能しません:
<div data-ng-repeat="msg in data.messages">
{{msg.text | translate:{timestamp: {msg.timestamp | amDateFormat:'LT'} } }}
</div>
構文エラーが発生しています:
Error: [$parse:syntax] Syntax Error: Token '|' is unexpected, expecting [}] at column 74 of the expression [msg.text | translate:{timestamp: {msg.timestamp | amDateFormat:'LT'} } ] starting at [| amDateFormat:'LT' } } ].
http://errors.angularjs.org/1.2.15/$parse/syntax?
AngularJS 1.2.15 を使用しています。