Angularjs Datepicker день показан неверно - PullRequest
0 голосов
/ 09 января 2019

Я прочитал много постов, касающихся этого, и перепробовал столько, сколько мог, но, похоже, ничего не работает. Я использую загрузчик uib-datepicker-popup, чтобы позволить пользователю выбрать дату. По какой-то причине в календаре отображается день, предшествующий значению модели. Из многих постов, которые я прочитал, это похоже на проблему с часовым поясом. Я не смог найти ничего в сообщениях, которые решают проблему для меня.

Here is the HTML: 
<input type="text" class="input-sm " valid-date uib-datepicker-popup="{{format}}"  
    ng-model="statusDate"  is-open="datepicker.statusDate"  datepicker-options="dateOptions"  
    close-text="Close" ng-change="updateDate(statusDate)" />

Here is my directive:
app.directive('validDate', function (dateFilter,$parse){
    return{
         restrict:'EAC',
         require:'?ngModel',
         link:function(scope,element,attrs,ngModel,ctrl){
             ngModel.$parsers.push(function(viewValue){
                 return dateFilter(viewValue,'yyyy-MM-dd');
       });
     }
   }
});

Я попытался добавить ng-model-options = "{timezone: 'UTC'}" (как заглавные, так и строчные), и ничего не изменилось. У меня уже есть вышеуказанная директива, которую я считаю решением. Мои объекты - объекты Date (во многих сообщениях это нужно).

Это работало ранее, но код был перемещен на другой сервер. Я просто не могу найти правильный кусок, чтобы заставить его работать снова.

...