Как создать календарь с помощью angularjs с MVC4
Моя страница просмотра находится ниже
<title> <div class="header"> <span>{{month.format("MMMM, YYYY")}}</span> </div> <div class="week names"> <span class="day">Sun</span> <span class="day">Mon</span> <span class="day">Tue</span> <span class="day">Wed</span> <span class="day">Thu</span> <span class="day">Fri</span> <span class="day">Sat</span> </div> <div class="week"> <span class="day">{{day.number}}</span> </div>
Файл мои Джорданы
var app = angular.module("demo", []); app.controller("calendarDemo", function($scope) { $scope.day = moment(); }); app.directive("calendar", function() { return { restrict: "E", templateUrl: "templates/calendar.html", scope: { selected: "=" }, link: function(scope) { scope.selected = _removeTime(scope.selected || moment()); scope.month = scope.selected.clone(); var start = scope.selected.clone(); start.date(1); _removeTime(start.day(0)); _buildMonth(scope, start, scope.month); scope.select = function(day) { scope.selected = day.date; }; scope.next = function() { var next = scope.month.clone(); _removeTime(next.month(next.month()+1)).date(1)); scope.month.month(scope.month.month()+1); _buildMonth(scope, next, scope.month); }; scope.previous = function() { var previous = scope.month.clone(); _removeTime(previous.month(previous.month()-1).date(1)); scope.month.month(scope.month.month()-1); _buildMonth(scope, previous, scope.month); }; } }; function _removeTime(date) { return date.day(0).hour(0).minute(0).second(0).millisecond(0); } function _buildMonth(scope, start, month) { scope.weeks = []; var done = false, date = start.clone(), monthIndex = date.month(), count = 0; while (!done) { scope.weeks.push({ days: _buildWeek(date.clone(), month) }); date.add(1, "w"); done = count++ > 2 && monthIndex !== date.month(); monthIndex = date.month(); } } function _buildWeek(date, month) { var days = []; for (var i = 0; i < 7; i++) { days.push({ name: date.format("dd").substring(0, 1), number: date.date(), isCurrentMonth: date.month() === month.month(), isToday: date.isSame(new Date(), "day"), date: date }); date = date.clone(); date.add(1, "d"); } return days; } });
Результат не приходит
Что я уже пробовал:
Я пытался
Моя страница просмотра находится ниже
<title> <div class="header"> <span>{{month.format("MMMM, YYYY")}}</span> </div> <div class="week names"> <span class="day">Sun</span> <span class="day">Mon</span> <span class="day">Tue</span> <span class="day">Wed</span> <span class="day">Thu</span> <span class="day">Fri</span> <span class="day">Sat</span> </div> <div class="week"> <span class="day">{{day.number}}</span> </div>
Файл мои Джорданы
var app = angular.module("demo", []); app.controller("calendarDemo", function($scope) { $scope.day = moment(); }); app.directive("calendar", function() { return { restrict: "E", templateUrl: "templates/calendar.html", scope: { selected: "=" }, link: function(scope) { scope.selected = _removeTime(scope.selected || moment()); scope.month = scope.selected.clone(); var start = scope.selected.clone(); start.date(1); _removeTime(start.day(0)); _buildMonth(scope, start, scope.month); scope.select = function(day) { scope.selected = day.date; }; scope.next = function() { var next = scope.month.clone(); _removeTime(next.month(next.month()+1)).date(1)); scope.month.month(scope.month.month()+1); _buildMonth(scope, next, scope.month); }; scope.previous = function() { var previous = scope.month.clone(); _removeTime(previous.month(previous.month()-1).date(1)); scope.month.month(scope.month.month()-1); _buildMonth(scope, previous, scope.month); }; } }; function _removeTime(date) { return date.day(0).hour(0).minute(0).second(0).millisecond(0); } function _buildMonth(scope, start, month) { scope.weeks = []; var done = false, date = start.clone(), monthIndex = date.month(), count = 0; while (!done) { scope.weeks.push({ days: _buildWeek(date.clone(), month) }); date.add(1, "w"); done = count++ > 2 && monthIndex !== date.month(); monthIndex = date.month(); } } function _buildWeek(date, month) { var days = []; for (var i = 0; i < 7; i++) { days.push({ name: date.format("dd").substring(0, 1), number: date.date(), isCurrentMonth: date.month() === month.month(), isToday: date.isSame(new Date(), "day"), date: date }); date = date.clone(); date.add(1, "d"); } return days; } });
Suvendu Shekhar Giri
Пожалуйста, отформатируйте код, чтобы сделать его более читабельным :)
Suvendu Shekhar Giri
Я сделал форматирование для Вас, пожалуйста, проверьте, все ли в порядке или нет.
David_Wimbley
Какая у вас проблема? дамп кода без определения проблемы не принесет вам большой помощи.
Вы можете просто погуглить этот вопрос, и я уверен, что там будет тонна учебников, которым вы можете следовать.