$scope.$sur les pas de déclenchement après $rootScope.$la diffusion angulaire de service

Cela peut être la répétition de la question, mais la solution de contournement que j'ai trouvé pour ce problème n'est pas de travail dans mon cas, c'est pourquoi je vous poste la question.

J'ai suivantes service:

appRoot.service('MyService', function($rootScope) {
    var Messenger = {
        Temp: "",
        TempId:"",
        tempMethod: function(Id) {
            TempId = Id;
            $rootScope.$broadcast('FirstCtrlMethod');
        }
    };
    return Messenger ;
});

Dans deuxième contrôleur:

appRoot.controller('SecondCtrl', function ($scope, $location, MyResource, NotificationService, MyService) {
 $scope.invokeFirstCtrl= function() {
        var Id = '2';
        MyService.tempMethod(Id);
});

Dans premier contrôleur:

appRoot.controller('FirstCtrl', function ($scope, $compile, $filter, $modal, $sce, $location, NotificationService, MyService) {
$scope.$on('FirstCtrlMethod', function () {        
        alert('I am from frist controller');
    });
});

Problème: La ligne "$rootScope.$diffusion('FirstCtrlMethod');" est en cours d'exécution comme prévu, mais il n'est pas la cause de l'incendie de l'événement "$scope.$('FirstCtrlMethod', function () {.." dans le premier contrôleur.
J'ai utilisé les différents services dans de nombreux endroits dans mon application, de la même manière et ils sont workig bien, je ne suis pas à comprendre pourquoi il ne fonctionne pas ici.

sont à la fois contrôleur instanciés lorsque vous testez??
Avez-vous essayé $emit au lieu de $broadcast? ou tout simplement $rootScope.$on
Yah j'ai essayé les deux .$émettre et $rootScope.$mais encore sa ne fonctionne pas
Comme indiqué par @harish je n'étais pas commencer le premier contrôleur. C'est la prévention de la propagation de l'événement. Résolu mon problème.

OriginalL'auteur Saurabh Palatkar | 2014-11-04