¿Cómo puedo transmitir un objeto en Angularjs?
-
11-12-2019 - |
Pregunta
¿Cómo puedo transmitir un objeto a través de un evento?
Actualmente estoy intentando:
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'
pero no estoy recibiendo ninguna salida
editar
Lo tengo trabajando.Parece que el primer parámetro de la función de devolución de llamada es el alcance.Tuve que cambiar el controlador a:
angular.module('WebChat').controller 'ChannelController', ($scope) ->
$scope.$on 'message', (scope, message) ->
console.log message
console.log 'hi'
Solución
No está obteniendo ninguna salida en su caso ya que usted es de transmisión antes de que un controlador esté listo para aceptar mensajes .El método de ejecución del módulo se ejecuta muy temprano en el ciclo de vida de la aplicación, antes de que los alcances del controlador estén listos para escuchar los mensajes.
Aquí está el JSFiddle que ilustra esto, verifique la consola para ver que ocurra la transmisión antes de que un oyente esté listo: http:// jsfiddle.NET / VPQ2P / 3 /