AngularJS $broadcast with multiple parameters
23,411
Solution 1
Just put the parameters into an object:
$scope.$broadcast('event', { a: item1, b: item2 })
Then access them from the second argument to the callback:
$scope.$on('event', function(event, opt) {
// access opt.a, opt.b
});
Or if using ES2015 syntax you can unpack the arguments:
$scope.$on('event', (event, {a,b}) => {
// access them just as a, b
});
Solution 2
Documentation says:
'Optional one or more arguments which will be passed onto the event listeners'
$rootScope.$emit(event_name, p1, p2, p3);
Author by
blaa
Updated on February 07, 2020Comments
-
blaa over 4 years
Can I have a
$broadcast $on
with multiple parameters, something like:$scope.$broadcast('event',$scope.item, $scope.item);
Is it possible to have something like this or something similar in any case ?