Я проверил все открытые вопросы с аналогичной темой, но не дал мне правильного рабочего решения, которое сводит меня с ума, и поэтому я открываю этот вопрос.Пользовательская директива AngularJS для datepicker не обновляет ng-model
Мой заказ директива выглядит
angular.module('angularSampleApp') .directive('datepicker', function() {
'use strict';
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, el, attr, ngModel) {
$(el).datepicker({
maxDate: 0 ,
onSelect: function(dateText) {
scope.$apply(function(){
ngModel.$setViewValue(dateText);
ngModel.$viewValue = dateText;
ngModel.$render();
});
}
});
}
};
});
Я использую директиву, как этот
<input type="text" id="datepicker" datepicker ng-model="jumpDate">
<a name="jump" id="jump" title="Jump" ng-click="jumpToDate()">Jump</a>
и контроллер у меня есть что-то вроде этого:
$scope.jumpToDate = function() {
console.log($scope.jumpDate);
};
Однако директива не обновляют $ scope.jumpDate, и он всегда не определен, даже если я устанавливаю значение по умолчанию в контроллере, это n когда-либо обновленные, dateText имеют правильное значение.
Я использую угловую сборку 1.4.1
Вам нужно только 'ngModel. $ SetViewValue (dateText)' и вам не нужно, чтобы обернуть его в '$ Scope. $ Apply'. – zeroflagL
@zeroflagL все еще ничего не пробовал, чтобы один ... – vaske
возможно такой же, как у http://stackoverflow.com/a/29194068/2435473 –