Please refer - http://jsfiddle.net/U3pVM/18701/
In the console, I only see "outer1" being logged, the inner scope does not log. Is something missing?
var app = angular.module("myapp", []);
app.controller("outer1", function($scope) {
$scope.$on("newmessage", function() {
console.log("outer1");
});
$scope.$broadcast("newmessage");
});