2017-12-12 1 views
0

두 개의 파일, 각도 지시문 및 컨트롤러가 있습니다. 컨트롤러에 번역 기능이 삽입되어 있지만, 바로 거기에서 수행하고 싶은 일부 번역본에 대해 지시문에 주입해야합니다. 번역 모듈을 삽입하려고 할 때마다 문제가 발생하지 않습니다. (. 내가 다른 파일에 정의 된 문자열, 나는 그게 문제가 아니에요 추측하고있어이는) 내 코드는 지금까지 다음과 같습니다 각도 지시문은 링크 지시문에서 번역합니다.

appmod = angular.module('directive', []); 
appmod.directive('gvPivot', ['$translate', function() { 
    return { 
      restrict : "E", 
      replace : true, 
      scope : { 
       name : "@", 
       data : "=" 
      }, 
      template : '', 
      link : function(scope, iElement, iAttrs, controller, transcludeFn, translate) { 
       scope.$watch("data", function(newValue, oldValue, translate) { 
        console.log('{{ "Translated text" | translate}}'); 

내가 기대 그 결과는 "번역 된 텍스트를 기록한다는 것입니다 "라고 말했습니다.

그러나이 기록은 내가 아마이 너무 많은 잘못된 장소에서 너무 자주 번역 주입했지만, 지금의 나는 그냥 엽총 접근을하고 노력하고 있음을 알고

{{ "Text to translate" | translate}} 

입니다 어디에 든 넣을 수 있습니다.

답변

0

$ filter를 삽입하여 텍스트를 번역하는 다른 방법을 찾았습니다.

appmod.directive('gvPivot', ['$translate', '$filter', function($translate, $filter) { 
return { 
     restrict : "E", 
     replace : true, 
     scope : { 
      name: "@", 
      data : "=" 
     }, 
     template : '', 
     link : function(scope, iElement, iAttrs, controller, transcludeFn) { 
      console.log($filter('translate')('translate this')); 
관련 문제