Je me demandais si je pouvais avoir un $ broadcast $ avec plusieurs paramètres comme:
$scope.$broadcast('event',$scope.item, $scope.item);
Est-il possible d'avoir quelque chose comme ça ou quelque chose de similaire dans tous les cas?
Merci d'avance!
Mettez simplement les paramètres dans un objet:
$scope.$broadcast('event', { a: item1, b: item2 })
Ensuite, accédez-y du deuxième argument au rappel:
$scope.$on('event', function(event, opt) {
// access opt.a, opt.b
});
Ou si vous utilisez la syntaxe ES2015, vous pouvez décompresser les arguments:
$scope.$on('event', (event, {a,b}) => {
// access them just as a, b
});
La documentation dit:
'Un ou plusieurs arguments facultatifs qui seront transmis aux écouteurs d'événement'
$rootScope.$emit(event_name, p1, p2, p3);