【问题标题】:Implementing ng-change With Angularjs Custome Directive使用 Angularjs 客户指令实现 ng-change
【发布时间】:2016-01-26 07:04:58
【问题描述】:

我有遵循指令,我如何用它来实现 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() 仅在我手动更改文本框的值时运行

【问题讨论】:

    标签: angularjs angularjs-directive


    【解决方案1】:

    已编辑

    ng-change 是仅用于用户输入的指令。尝试改用$watch。以下是很好的答案:

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

    When to use $watch or ng-change in Angularjs

    【讨论】:

    • 不起作用,我应该更改输入标签中的任何内容吗?
    • 角度中的 element 是 Jquery 对象。尝试删除$(function () {
    • 感谢您的回答,但我终于使用了引导日期选择器并且我工作了,问题出在 jquery 日期选择器上,因为即使使用 jquery 事件更改绑定,它也没有做任何事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    相关资源
    最近更新 更多