Вопрос

Как я могу транслировать объект через событие?

В настоящее время я пытаюсь:

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.NET / VPQ2P / 3 /

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top