2016-07-06 41 views
9

Zastanawiałem się, czy mogę mieć $ broadcast $ na wiele parametrów coś takiego:

$scope.$broadcast('event',$scope.item, $scope.item); 

Czy to możliwe, aby mieć coś takiego lub coś podobnego w każdym przypadku?

Z góry dzięki!

Odpowiedz

16

Wystarczy umieścić parametry do obiektu:

$scope.$broadcast('event', { a: item1, b: item2 }) 

Potem do nich dostęp drugi argument do wywołania zwrotnego:

$scope.$on('event', function(event, opt) { 
// access opt.a, opt.b 
}); 

Lub jeśli używając składni ES2015 można rozpakować argumenty:

$scope.$on('event', (event, {a,b}) => { 
// access them just as a, b 
}); 
+0

Cześć! jak można uzyskać argumenty w $ na? –

+0

@Llg Drugi parametr wywołania zwrotnego, zaktualizowałem odpowiedź. – Duncan

+0

Dziękuję bardzo! –

0

Dokumentacja mówi: "Opcjonalnie jeden lub więcej argumentów, które zostaną przekazane Detektory zdarzeń

$rootScope.$emit(event_name, p1, p2. p3);

+0

To nie jest wydarzenie '$ broadcast'. – maxathousand