Я пытаюсь создать чат с Pusher и AngularJs.
<div id="chats" ng-controller="ChatCtrl">
<chat chat-id="1" chat-name="Max"></chat>
<chat chat-id="2" chat-name="John"></chat>
<chat chat-id="3" chat-name="Susanne"></chat>
</div>
У меня есть следующая директива:
.directive('chat', function() {
return {
restrict: 'E',
templateUrl: '/tpl/chat-box.html'
}
}]);
и следующий контроллер:
.controller('ChatCtrl', ['$scope', '$pusher',
function($scope, $pusher) {
$scope.pusher = $pusher(client);
}])
Где я должен обрабатывать запросы ajax для приема старых сообщений и привязки канала Pusher для получения новых сообщений для чата? В контроллере или в директиве?
Вероятно, в сервисе, который также будет инкапсулировать и другую бизнес-логику. Контроллер тогда будет только API-интерфейсом службы для отправки/получения данных и предоставления этих данных в представление, в то время как директива обычно должна касаться только манипуляции с DOM, и она тоже не должна содержать бизнес-логику.
Ваш вопрос немного чересчур общий, и название на самом деле не отражает ваш вопрос (ваша директива даже не имеет области выделения).