Я пытаюсь создать календарь, используя угловые директивы.
У меня есть следующая директива, которая отлично работает:
angular.module('acDaySelectCalendar',[])
.directive('acMonth', function () {
return {
template: '<div class="monthcontainer"><table class="calendarmonth" width="210" border="0" align="center" cellpadding="0" cellspacing="0">\
<tbody><tr>\
<td class="mois" colspan="7">{{acDate | date:"MMMM yyyy"}}</td>\
</tr>\
<tr>\
<td>D</td>\
<td>L</td>\
<td>M</td>\
<td>W</td>\
<td>J</td>\
<td>V</td>\
<td>S</td>\
</tr>\
<tr ng-repeat="week in weeks track by $index">\
<td ng-repeat="day in week track by $index">{{day | date: "d"}}</td>\
</tr>\
</tbody></table></div>',
restrict: 'E',
scope:{
acDate: '@'
},
controller: 'acMonthController'
};
});
директива этого контроллера создает массив «weeks», каждый элемент которого содержит массив дней для каждой недели, что позволяет затем выполнять ng-repeat по неделям и дням, чтобы построить таблицу, отображающую дни месяца.
Все отлично работает с кодом, показанным ниже, но проблема в том, что когда я пытаюсь заменить внутренний td следующей директивой angular:
angular.module('acDaySelectCalendar')
.directive('acDay',function() {
return {
template: '<td transclude></td>',
restrict: 'E',
transclude: true,
//transclude:true,
}
});
А затем изменить директиву acMonth следующим образом, чтобы использовать директиву ac-day:
angular.module('acDaySelectCalendar',[])
.directive('acMonth', function () {
return {
template: '<div class="monthcontainer"><table class="calendarmonth" width="210" border="0" align="center" cellpadding="0" cellspacing="0">\
<tbody><tr>\
<td class="mois" colspan="7">{{acDate | date:"MMMM yyyy"}}</td>\
</tr>\
<tr>\
<td>D</td>\
<td>L</td>\
<td>M</td>\
<td>W</td>\
<td>J</td>\
<td>V</td>\
<td>S</td>\
</tr>\
<tr ng-repeat="week in weeks track by $index">\
<ac-day ng-repeat="day in week track by $index">{{day | date: "d"}}</ac-day>\
</tr>\
</tbody></table></div>',
restrict: 'E',
scope:{
acDate: '@'
},
controller: 'acMonthController'
};
});
Во втором случае внутри элементов tr ничего не отображается.
Любая идея о том, что может происходить?
Помощь !!!
Спасибо, Ориол.