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
  • 12,788
  • 49
  • 133
  • 253

2 Answers2

2

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,588
  • 1
  • 13
  • 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 :)

Thinker
  • 4,028
  • 1
  • 14
  • 44