2017-09-14 14 views
0

私は$ indexでインデックスされたループのいくつかの文字列を解析し、datepickersにそれらを使用しようとしているので、$ parseを使用し、$ evalは使用しませんでした。それはとにかく使ってのchoicheを修正している私は$使用に解析する方法について間違って手に入れたループ内の要素を正しく解析する方法は?

.directive('dispatcherDate', function (DISPATCHER_BROADCAST,$parse) { 
      return { 
       restrict: 'A', 
       require: "ngModel", 
       link : function(scope, elem, attrs,ngModelCtrl,$parse) { 
        var attributes = attrs; 
         scope.$on(DISPATCHER_BROADCAST.stuffLoaded,function(){ 
          var parent = $(elem).parent(); 
          var dtp = parent.datetimepicker({ 
           format: "DD-MM-YYYY HH:mm:ss", 
           useCurrent: false, 
           showTodayButton: false, 
           defaultDate :$parse(attributes.ngModel), 
          }); 
          dtp.on("dp.change", function (e) { 
           ngModelCtrl.$setViewValue(moment(e.date).format("DD-MM-YYYY HH:mm:ss")); 
           scope.$apply(); 
          }); 
         }); 
       } 
      }; 
      }) 

:?私はなかれ、このエラーここ

$parse is not a function 

を取得し、デバッグ中に

はディレクティブです$ evalの代わりに$ parse?

答えて

1

通常、ngModelが指し示す値には、ngModelCtrl.$viewValueが使用されています。

$parseを使用する場合は、リンク機能のパラメータから$parseを削除してください。新しい変数を作成していますが、そこには注入されていません。ディレクティブを宣言するときに、その上に注入します:

.directive('dispatcherDate', function (DISPATCHER_BROADCAST,$parse) { 

また、スコープに対して解析:

defaultDate: $parse(attributes.ngModel)(scope) 
関連する問題