2016-07-06 63 views
9

我在想,廣播,如果我能與多個參數 像有$廣播$:

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

是否有可能有這樣的事情或者在任何情況下,類似的東西?

提前致謝!

回答

16

只要把參數到一個對象:

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

然後從第二個參數訪問它們回調:

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

或者如果使用ES2015語法,你可以解開參數:

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

嗨!請問如何獲得$ on的參數? –

+0

@Llg回調的第二個參數,我已經更新了答案。 – Duncan

+0

非常感謝! –

0

文檔說:'可選的一個或多個參數將被傳遞到事件偵聽器

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

+0

這不是'$ broadcast'事件。 – maxathousand