Angular用控制器语法翻译参数



我正在使用一个Angular 1.5组件,并试图使用参数进行Angular翻译。这是我的标记:

Value is {{$ctrl.minFormatted}}
<div ng-message="dateRange" class="error-message">{{'invalidRange' | translate:'{ start: $ctrl.minFormatted, end: $ctrl.maxFormatted}'}}</div>

消息可以翻译,但不填写参数。我验证了$ctrl。minformatting通过在翻译的正上方显示而有一个值。

在过去,当我使用标准的角控制器时,我使用$scope. min格式化。然而,这不起作用,因为我使用控制器作为语法

如文档(https://angular-translate.github.io/docs/#/guide/06_variable-replacement)中所写,在翻译过滤器中使用变量的最佳实践是将变量值从作用域传递给过滤器。例如:

<div ng-message="dateRange" class="error-message">{{'invalidRange' | translate:$ctrl.translationValues}}</div>

定义控制器中的值:

$scope.trasnlationValues = { "start": $ctrl.minFormatted, "end": $ctrl.maxFormatted};

一个更好的方法(和更可读的方式)是使用翻译指令。例如:

<div ng-message="dateRange" class="error-message" **translate**="invalidRange" **translate**-values='{ start: $ctrl.minFormatted, end: $ctrl.maxFormatted}'></div>

建议您查看他们的文档了解更多细节

最新更新