2013-04-17 23 views
0

我想使用像i18n引擎的過濾器,並且此過濾器工作正常。但是,如果我嘗試在模板HTML內使用i18n過濾器(使用$ routeProvider),我無法完成這項工作。在AngularJS中模板HTML中的過濾器

我的篩選:

app.filter('i18n', function() { 
    return function (input) { 
     return $.i18n._(input); 
    } 
}); 

我的HTML模板:

<div class="fieldConfig first"> 
       <label id="label_topology" for="topology" class="labelMedio">{{"Topologia" | i18n}}:</label>      
      </div> 

我的控制器:

function WanCtrl($scope, $routParams, $i18n) { 
    $scope.title = 'Wan'; 

}; 

請問我需要把任何東西在我的控制器工作在我的過濾器模板?

謝謝!

+0

您的代碼在3秒鐘掃描後看起來OK。發送帶有生命代碼的闖入者,您將很快得到答覆。 –

回答

0

要在任何地方(控制器,指令,服務等)使用過濾器,而不僅僅是在模板中,您需要參考$filter service。在你的情況下,你在控制器的參數中引用$i18n,這不是正確的方法。

相反,傳遞$filter,並使用i18n過濾器,像這樣:

function WanCtrl($scope, $routeParams, $filter) { 
    $scope.title = $filter('i18n')('Wan'); 
} 

有關詳細說明,請參閱this StackOverflow post此事。