2016-11-11 68 views
1

我正在使用Angular 1.5組件並嘗試使用參數進行角度轉換。這裏是我的標記:帶控制器的角度轉換參數作爲語法

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

消息轉換,除非它不填寫參數。我驗證$ ctrl.minFormatted確實有一個值顯示右上方的翻譯。

在過去,當我使用標準角度控制器時,我使用了$ scope.minFormatted。然而,這不起作用,因爲我使用控制器作爲語法

回答

2

寫在文檔(https://angular-translate.github.io/docs/#/guide/06_variable-replacement),他們在transalate過濾器中使用變量的最佳做法是將變量值從範圍傳遞給過濾器。例如:

<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> 

會建議你去探索自己的文檔瞭解更多信息