문제

이벤트를 통해 객체를 어떻게 방송 할 수 있습니까?

현재 나는 시도하고 있습니다 :

app.run ($rootScope) ->
    message = {type: 'channel', action: 'create', data: { name: "ssss", id: 0}}
    $rootScope.$broadcast('message', message)

angular.module('WebChat').controller 'ChannelController', ($scope) -> 
    $scope.$on 'message', (message) ->
        console.log message
        console.log 'hi'
.

하지만 출력이 없어요

편집 나는 그것을 일하고있다.콜백 함수의 첫 번째 매개 변수가 범위 인 것 같습니다.나는 컨트롤러를 다음과 같이 변경해야했습니다.

angular.module('WebChat').controller 'ChannelController', ($scope) -> 
    $scope.$on 'message', (scope, message) ->
        console.log message
        console.log 'hi'
.

도움이 되었습니까?

해결책

컨트롤러가 메시지를 수락 할 준비가되기 전에 브로드 캐스팅 이후로 사례에 출력이 발생하지 않습니다.컨트롤러의 범위가 메시지를들을 준비가되기 전에 모듈의 실행 메소드가 응용 프로그램의 수명주기 초기에 실행됩니다.

여기를 보여주는 JSFIDDLE 이이 http : // jsfiddle을 HTTP : // JSFIDDLE에서 실행하기 전에 해당 브로드 캐스트가 발생하는 것을 확인하십시오.NET / VPQ2P / 3 /

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top