2015-08-30 3 views
0

Я пытаюсь создать чат с Pusher и AngularJs.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 обязательные для приема новых сообщений для чата-бокса? В контроллере или в директиве?

ответ

1

Возможно, в службе , которая также инкапсулирует другую бизнес-логику. Затем контроллер будет просто API-интерфейсом службы для отправки/получения данных и предоставления этих данных для представления, в то время как директива обычно должна касаться только манипуляции с DOM, и она также не должна содержать бизнес-логику.

Ваш вопрос немного слишком общий, хотя название на самом деле не отражает ваш вопрос (ваша директива даже не имеет изолированной области).

Смежные вопросы