Jak mogę transmitować obiekt poprzez wydarzenie?Jak mogę transmitować obiekt w Angularjs?
Obecnie próbuję:
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'
Ale ja dostaję żadnego wyjścia
Edycja mam to działa. Wydaje się, że pierwszym parametrem funkcji wywołania zwrotnego jest zasięg. Musiałem zmienić kontroler:
angular.module('WebChat').controller 'ChannelController', ($scope) ->
$scope.$on 'message', (scope, message) ->
console.log message
console.log 'hi'
Mam podobną sytuację, gdy trzeba [obciążenia YouTube IFrame API] (https://developers.google.com/youtube/iframe_api_reference#Getting_Started). Próbowałem umieścić kod obciążenia wewnątrz run(), a także na zewnątrz, próbując załadować go jako ostatni, ale bez względu na to, gdzie go umieszczam, transmisja zawsze ma miejsce, zanim mój kontroler będzie gotowy do słuchania, chyba że wykonam limit czasu wynoszący 1000 lub więcej (1500 wydaje się działać najlepiej). Czy istnieje sposób zagwarantowania prawidłowej kolejności słuchania-> emisji bez wykorzystania limitów czasu? Wiem, że moje pytanie może wydawać się dość ogólne, ale w razie potrzeby mogę podać więcej szczegółów. Dzięki. – braincomb