2016-07-06 24 views
9

Ich habe mich gefragt, ob ich ein $ Broadcast $ auf mit mehreren Parametern etwas wie haben:

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

Ist es möglich, so etwas wie dies oder etwas ähnliches in jedem Fall?

Vielen Dank im Voraus!

Antwort

16

Einfach die Parameter in ein Objekt:

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

sie dann an den Rückruf aus dem zweiten Argument zugreifen:

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

Oder wenn ES2015 Syntax Sie die Argumente entpacken können:

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

Hallo! bitte wie kann man die Argumente in den $ auf bekommen? –

+0

@Llg Zweiter Parameter zum Rückruf, ich habe die Antwort aktualisiert. – Duncan

+0

Vielen Dank! –

0

Dokumentation sagt: 'Optional ein oder mehrere Argumente, die an die übergeben werden Ereignis-Listener

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

+0

Dies ist kein $ Broadcast-Ereignis. – maxathousand