我有以下指令,我该如何实现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()仅在我手动更改文本框的值时运行
答案 0 :(得分:1)
<强>被修改强>
ng-change
仅用于用户输入。请尝试使用$watch
。这里有很好的答案: