Angular JqueryUI datepicker指令模型更改

时间:2015-02-16 09:40:07

标签: angularjs jquery-ui

我有一个包装JqueryUI datepicker的Angular指令:

angular.module('uiControls').directive('datePicker', [function () {
    return {
        restrict: 'A',
        require: "ngModel",
        link: function(scope, elem, attrs, ngModelCtrl) {
            var options = {
                dateFormat: "mm/dd/yy",
                inline: true,
                showOtherMonths: true,
                dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
                onSelect: function (dateText) {
                    scope.$apply(function () {
                        ngModelCtrl.$setViewValue(dateText);
                    });
                }
            };

            elem.datepicker(options);
        }
    };
} ]);

我这样使用它:

<div date-picker ng-model="currentFilter.filter"></div>

我的问题是:

默认情况下选择当前日期时会打开日期选择器,但范围上的模型为空。只有当用户真正点击日期时,才会触发onSelect事件,现在模型有一个值。 如何根据datepicker中的选定日期初始化模型? 我试图在指令中添加一个监视器,并从外部更改模型,但它不起作用。

感谢。

1 个答案:

答案 0 :(得分:1)

前一段时间问过这个问题,但它可能有助于其他人: 尝试使用隔离范围绑定'='。 :

{1200, 100}