I want to know that can we communicate between two different controllers in AngularJS. Suppose  I have Two modules,
Plunker: http://plnkr.co/edit/if0MQwlx9WHrD8XnMi2t?p=preview
    1. var app = angular.module('fistModule', []);
           app.controller('first', function ($scope) {
                $scope.firstMethod= function () {
                 //my code}
} )
    2. var newapp = angular.module('secondModule,[]');
           newapp.controller('second', function ($scope) {
              $scope.secondMethod= function () {
               //my code}
Is there way to communicate between controllers of two different modules.
My Code: JS:
angular.module('myApp', [])
  .controller('ParentCtrl', ['$scope',
    function($scope) {
      $scope.message = "Child updated from parent controller";
      $scope.clickFunction = function() {
        $scope.$broadcast('update_parent_controller', $scope.message);
      };
    }
  ]);
  angular.module('myNewApp', [])
  .controller('ChildCtrl', ['$scope',
    function($scope) {
      $scope.message = "Some text in child controller";
      $scope.$on("update_parent_controller", function(event, message) {
        $scope.message = message;
      });
    }
  ])
HTML:
<div ng-app="myApp" ng-controller="ParentCtrl">
    <div ng-app="myNewApp" ng-controller="ChildCtrl">
      <p>{{message}}</p>
    </div>
    <button ng-click="clickFunction()">Click</button>
  </div>
 
     
    