2013-04-17 3 views
0

i18n 엔진과 같은 필터를 사용하고 싶습니다.이 필터는 정상적으로 작동합니다. 그러나 HTML ($ routeProvider를 사용하여) HTML 내에서 i18n 필터를 사용하려고하면이 작업을 수행 할 수 없습니다.템플릿 내부의 필터 AngularJS의

내 필터 :

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 초 스캔 후 확인을 보인다. 수명 코드와 함께 벙커를 보내면 곧 응답을 얻을 것입니다. –

답변

0

템플릿뿐만 아니라 어디서나 필터 (컨트롤러, 지시문, 서비스 등)를 사용하려면 $filter service을 참조해야합니다. 귀하의 경우 컨트롤러의 매개 변수에서 $i18n을 참조하고 있는데 올바른 방법이 아닙니다.

대신, $filter를 전달하고, 사용 i18n 필터를과 같이 자세한 설명은

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

, 문제에 this StackOverflow post를 참조하십시오.