Come posso trasmettere un oggetto in angolari?
-
11-12-2019 - |
Domanda
Come posso trasmettere un oggetto attraverso un evento?
Attualmente sto provando:
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'
.
Ma non sto ottenendo alcuna output
Modifica
L'ho funzionato.Sembra che il primo parametro della funzione di callback sia lo scopo.Ho dovuto cambiare il controller su:
.angular.module('WebChat').controller 'ChannelController', ($scope) ->
$scope.$on 'message', (scope, message) ->
console.log message
console.log 'hi'
Soluzione
Non stai ottenendo alcuna output nel tuo caso dal momento che sei Broadcasting prima di un controller è pronto per accettare i messaggi .Il metodo di esecuzione del modulo viene eseguito molto presto nel ciclo di vita dell'applicazione, prima che gli scopi del controller siano pronti ad ascoltare i messaggi.
Ecco il JSFIDDLE che illustra questo, controlla la console per vedere quella trasmissione succede prima che un ascoltatore sia pronto: http:// jsfiddle.NET / VPQ2P / 3 /