使用Angularjs Custome指令实施ng-change

时间:2016-01-26 07:04:58

标签: angularjs angularjs-directive

我有以下指令,我该如何实现ng-change。该指令正在运行,但只有当我手动更改文本框的值而不是使用日期选择器更改它时,ng-change才有效

 app.directive('datepicker', function () {
    return {
        restrict: 'A',
        require: 'ngModel',
        link: function (scope, element, attrs, ngModelCtrl) {

            $(function () {


                element.persianDatepicker({
                    formatDate: "YYYY/0M/0D",
                    onSelect: function (date) {
                        scope.$apply(function () {
                            ngModelCtrl.$setViewValue(date);
                        });
                    }
                });
            });
        }
    }
}); 

和我的HTML

 <input datepicker type="text" id="EndDate" ng-model="Filter.EndDate" class="form-control" ng-change="DateSelect()" />

DateSelect()仅在我手动更改文本框的值时运行

1 个答案:

答案 0 :(得分:1)

<强>被修改

ng-change仅用于用户输入。请尝试使用$watch。这里有很好的答案:

Angular - ng-change not firing when ng-model is changed

When to use $watch or ng-change in Angularjs