Вот небольшое приложение, в котором вы можете добавлять элементы, редактировать их и удалять - все описано в контроллере, основанном на двухсторонней привязке данных angular.
http://cssdeck.com/labs/schedule-of-the-red-hood
Каждый раз при добавлении элемента в каледнар-бар программно должен быть вставлен элемент, описанный в шаблоне директивы:
template: '<div ng-repeat="event in events" class="event">' +
'<h3 ng-model="event.Name">{{event.Name}}</h3>' +
'<span ng-model="event.StartTime; event.EndTime" class="time">{{event.StartTime}}-{{event.EndTime}}</span>' +
'</div>'
Хотя я не могу понять, как связать область действия с контроллером, привязать вставку элемента из контроллера:
$scope.addEvent = function(event, attrs) {
$scope.events.push(event);
$scope.event = {};
var eventGrid = angular.element(document.createElement('eventGrid')),
el = $compile(eventGrid)($scope);
angular.element(document.body).append(eventGrid);
$scope.insertHere = el;
}
- как я теперь понимаю, мой код создает элемент в DOM, но не использует шаблон из директивы... Как мне это сделать? Соответствует ли выбранная структура кода этой цели?