나는과 같이, 지시어의 소켓 이벤트 자체에 반응 다음 rgaskill의 대답에 참조 된 (의존성 주입을 통해 socket.io를 포함하여, 그리고 조합을 사용하여 후자로가는 결국 :
angular.module('MyApp.directives', [])
.directive('modal', function(socket) {
return function($scope, element, attrs) {
socket.on('showInfo', function(event, msg){
element.modal('show');
});
};
});
여기에 빠른 업데이트를
편집 :. 장기 조직을 위하여, 내가 이벤트를 수신하기 위해 필요한 경우 컨트롤러 및 지침 모두에 걸쳐 그들을 뿌리는 대신 내 컨트롤러 내부에 내 socket
청취자의 모든 퍼팅 결국 지위에 컨트롤러의 소켓 리스너 내에서 angular의 $scope.$broadcast('eventName')
을 사용하여 이벤트를 지시문에 브로드 캐스팅 한 다음 지시문을 $scope.$on('eventName')
으로 잡았습니다. 거기에 약간의 중복성이 있었지만 이전에는 없었던 수준의 일관성을 유지하는 데 도움이되었습니다.
누구든지이 기술의 상대적 효과 또는 비효율에 대해 의견이있는 경우 듣고 싶습니다.
출처
2013-04-12 02:12:38
Jon
그의 예제에서 소켓을 통해 트리거 된 DOM 동작이 표시되지 않아 진행 방법을 잘 모르고있었습니다. Upvote, 내가 그의 예에서 의존성 주입을 활용하고 궁극적으로 스스로 알아 냈습니다. – Jon