0

In module named EventDetails I have two controllers attachedFilesList and EventDetailsctrl.

I need to pass string value from EventDetailsctrl controller to attachedFilesList controller.

How can I pass between controllers in same module?

Michael
  • 13,950
  • 57
  • 145
  • 288

2 Answers2

3

Solution is attached below:

In EventDetailsctrl

$rootScope.$broadcast('pass-value', 'dummyVal');

In attachedFilesList

$scope.$on('pass-value', function(event, value) {
  // value is the object which is passed from $broadcast
});
Suneet Bansal
  • 2,664
  • 1
  • 14
  • 18
1

You can also pass the data from one controller to another controller using service.

EventDetails
  .controller('attachedFilesList', ['$rootScope', '$scope', 'myservice',
     function($rootScope, $scope, myservice) {
         $scope.myservice = myservice;
     }
  ]);

EventDetails
  .controller('EventDetailsctrl', ['$rootScope', '$scope', 'myservice',
     function($rootScope, $scope, myservice) {
         $scope.myservice = myservice;
     }
  ]);

EventDetails
   .service('myservice', function() {
       this.name = "value";
   });

Here is the Plnkr

Hope it helps :)

Arun AK
  • 4,353
  • 2
  • 23
  • 46