2017-12-02 16 views
0

ここで、私はデータタイムフィールドをクリックすると角jsディレクティブを呼び出しましたが、ディレクティブは呼び出されません。datetimepickerを呼び出したときに角度ディレクティブが機能しない

<input datetimepicker1 ng-model="TaskModel.received_date" style="width: 260px;" type="text" name="received_date" class="form-control selva" required="" id="from_date"/> 

これは私のHTMLコードです。

timeTracker.directive('datetimepicker1', function() { 
    return { 
     restrict: 'A', 
     require: 'ngModel', 
     link: function(scope, element, attrs, ngModelCtrl) { 
      element.datetimepicker({ 
       format: "DD-MM-YYYY", 
       minDate:yesterday, 
      }).on('dp.change', function(e) { 

       scope.TaskModel.received_date = e.target.value; 
       scope.$apply(); 
      }); 
     } 
    }; 
}); 

そして、この私の角度JS呼び出し指令

答えて

0

ここではいくつかのものの一つがあるかもしれません:

  1. あなたの角度モジュールにディレクティブを追加されていません。あなたのリンク機能が呼び出されていることと、ディレクティブを正しく登録していることを確認してください。
  2. dp.changeイベントが発生していません。あなたが期待したときにこのイベントを適切に起こしていることを確認してください。
  3. このhtml要素に関連付けられたdateTimePickerディレクティブはありません。あなたのカスタムディレクティブが表示されますが、日付選択ツールはありません。この要素にも適用されていることを確認してください。

もっと深く考えると、問題は#3だと思います。あなたは次のようにあなたがしなければならない、あなたの指示にクリック機能を処理しようとしている場合

0

timeTracker.directive('datetimepicker1', function() { 
    return { 
     restrict: 'A', 
     require: 'ngModel', 
     link: function(scope, element, attrs, ngModelCtrl) { 
      element.bind('click', function() { 
       //run after click on the field 
      }); 
     } 
    }; 
}); 

datetimepicker1は要素に存在しません。

関連する問題