Я создаю календарь. Проблема заключается в том, что я загружаю первый раз, тогда даты не отображаются. Если я перейду в следующий месяц и вернусь к предыдущему месяцу, то даты покажутся и работают нормально. Предположим, что текущий месяц - октябрь, поэтому, когда вы загружаете страницу, будет показан только текущий месяц октября. Без даты. Теперь перейдите в Ноябрь, нажав на стрелку вправо и вернитесь снова в октябре, нажав на стрелку влево. Будет показана дата. Пожалуйста, проверьте мою скрипку и код: -Дата не отображается при первой загрузке Javascript AngularJS
datepicker = angular.module('datepicker', []);
datepicker.controller('dateTimePicker', ['$scope', function($scope){
\t console.log('alive');
var date = new Date();
var months = [],
monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
];
for (var i = 0; i <= 12; i++) {
months.push(monthNames[date.getMonth()] + ' ' + date.getFullYear());
date.setMonth(date.getMonth() + 1);
}
$scope.year =2015;
$scope.changeMonth = function(steps) {
if ($scope.monthIndex + steps >= 0 &&
$scope.monthIndex + steps <= 12
) {
$scope.dateValues = [];
$scope.monthIndex = $scope.monthIndex + steps;
$scope.monthName = $scope.months[$scope.monthIndex];
var date = new Date();
console.log(date.getMonth());
var offset = date.getMonth()
console.log($scope.monthIndex);
var offsetDate = offset + $scope.monthIndex;
$scope.nDays = new Date($scope.year, offsetDate+1, 0).getDate();
console.log(offsetDate+1);
console.log(new Date($scope.year, offsetDate, 1));
for (i = 1; i <= $scope.nDays; i++) {
\t var d = new Date();
\t $scope.dateValues.push(new Date($scope.year, offsetDate, i));
\t }
}else{console.log("missed")}
};
$scope.monthIndex = 0;
$scope.months = months;
$scope.monthName = months[0];
}]);
скрипку ссылка: - https://jsfiddle.net/abhijitloco/fxbmpetu/15/
Привет, Я приложил скрипку ссылку. Не могли бы вы обновить его там. – cyberoy
Просто добавлена ссылка jsfiddle. https://jsfiddle.net/enkode/89sbv65e/ – Enkode
Да, но загружайте. Он начинается с октября 2016 года. Повторите попытку. – cyberoy