2017-08-07 6 views
0

特定の日付(フラグ)を文字列で置き換えるディレクティブがあります。角1.2 - ディレクティブをグローバル設定に置き換えます

app.directive('dateToText', ['$timeout', function($timeout) { 
    return { 
     restrict: 'A', 
     link: function(scope, el, attrs) { 
      if(scope.currentUserData.selectedLanguage == 'FR') { 
       scope.unKnownDate = 'Date inconnue' 
      } 
      else { 
       scope.unKnownDate = 'Date unknown'; 
      } 
      $timeout(function(){ 
       if(attrs.value == "01/01/2050" && $(el).prop('disabled')) { 
        console.log("attrs.value: ", attrs.value); 
        $(el).val(scope.unKnownDate); 
       } 
      }); 

     } 
    } 
}]); 

このディレクティブは、いくつかの入力のために使用されているが、私はすべての入力このディレクティブのために入れていない、世界的にこのロジックを使用します。

無効にされ、値= "01/01/2050"のすべての入力は、値= "My text"でなければなりません。

ありがとうございます!

+0

を角度フィルタのアプローチを使用しています。 – diEcho

答えて

0

私はこのディレクティブを作成して、問題が解決されました:

.directive('dateToText', ['$timeout', '$interpolate', function($timeout, $interpolate) { 
    return { 
     restrict: 'A', 
     link: function(scope, el, attrs) { 

      if(scope.currentUserData.selectedLanguage == 'FR') { 
       scope.unKnownDate = 'Inconnue' 
      } 
      else { 
       scope.unKnownDate = 'Unknown'; 
      } 
      $timeout(function(){ 
       if(attrs.value == "01/01/2050") { 
        console.log("attrs.value: ", attrs.value); 
        $(el).val(scope.unKnownDate); 
       } 
       if(el[0].textContent.trim() == "01/01/2050") { 
        $(el).text(scope.unKnownDate); 
        scope.$apply(); 
       } 
      }); 

     } 
    } 
}]) 
関連する問題