当我调用datetimepicker时,Angular Directives不起作用

时间:2017-12-02 13:03:18

标签: angularjs angularjs-directive datetimepicker

在这里,当我点击我的数据时间字段时,我调用了我的角度js指令,但它没有调用指令。

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

这是我的Angular JS调用指令

2 个答案:

答案 0 :(得分:0)

这里可能有以下几种情况之一:

  1. 您没有将指令添加到角度模块。确保正在调用您的链接功能,并且您正在正确注册该指令。
  2. dp.change,事件未被提出。确保您在预期时正确地举起此活动。
  3. 您没有与此html元素关联的dateTimePicker指令。我看到你的自定义指令但没有日期时间选择器。确保它也适用于此元素。
  4. 在深思熟虑后,我认为你遇到的问题是#3。

答案 1 :(得分: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不存在于元素中。