Angular 使用 Controller As 语法翻译参数
Angular Translate Parameters with Controller As Syntax
我正在使用 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.minFormatted 确实有一个值。
过去,当我使用标准 angular 控制器时,我使用的是 $scope.minFormatted。但是这不起作用,因为我使用控制器作为语法
如文档 (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};
实现相同目标的更好方法(并且更具可读性)是使用 translate-directive。例如:
<div ng-message="dateRange" class="error-message" **translate**="invalidRange" **translate**-values='{ start: $ctrl.minFormatted, end: $ctrl.maxFormatted}'></div>
建议您浏览他们的文档以了解更多详细信息
我正在使用 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.minFormatted 确实有一个值。
过去,当我使用标准 angular 控制器时,我使用的是 $scope.minFormatted。但是这不起作用,因为我使用控制器作为语法
如文档 (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};
实现相同目标的更好方法(并且更具可读性)是使用 translate-directive。例如:
<div ng-message="dateRange" class="error-message" **translate**="invalidRange" **translate**-values='{ start: $ctrl.minFormatted, end: $ctrl.maxFormatted}'></div>
建议您浏览他们的文档以了解更多详细信息