2017-09-14 29 views
0

我想解析一些由$ index索引的循環的字符串,並將它們用於datepickers,所以我結束了使用$ parse而不是$ eval。如何正確解析循環中的元素?

在調試我送花兒給人得到這個錯誤

$parse is not a function 

這裏的指令:?

.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(); 
          }); 
         }); 
       } 
      }; 
      }) 

哪裏我拿錯了如何使用$解析是它無論如何正確使用的choiche $解析而不是$ eval?

回答

1

通常您可以訪問使用ngModelCtrl.$viewValue指向的值ngModel

但是,如果您要使用$parse,請從鏈接功能參數中刪除$parse。你正在爲它創建一個新的變量,但它沒有被注入到那裏。它被上面注入,宣告該指令時:

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

而且,解析對範圍:

defaultDate: $parse(attributes.ngModel)(scope)