Question

Comment puis-je diffuser un objet via un événement?

Actuellement, j'essaie:

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'

mais je n'ai aucune sortie

Modifier Je l'ai travaillé.Il semble que le premier paramètre de la fonction de rappel est la portée.Je devais changer le contrôleur pour:

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

Était-ce utile?

La solution

Vous n'obtenez aucune sortie dans votre cas puisque vous êtes diffusion avant qu'un contrôleur soit prêt à accepter des messages .La méthode d'exécution du module est exécutée très tôt dans le cycle de vie de l'application, avant que les champs de contrôleur soient prêts à écouter des messages.

Voici le jsfiddle qui illustre ceci, cochez la console pour voir que la diffusion se produit avant que un auditeur soit prêt: http:// jsfiddle.NET / VPQ2P / 3 /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top