2016-07-06 19 views
9

Tôi đã tự hỏi nếu tôi có thể có một $ phát sóng $ trên với nhiều tham số cái gì đó như:

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

Có thể có một cái gì đó như thế này hay một cái gì đó tương tự như trong mọi trường hợp?

Cảm ơn trước!

Trả lời

16

Chỉ cần đặt các tham số vào một đối tượng:

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

Sau đó truy cập chúng từ đối số thứ hai để gọi lại:

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

Hoặc nếu sử dụng cú pháp ES2015 bạn có thể giải nén các đối số:

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

Hi! xin vui lòng làm thế nào có thể nhận được các đối số trong $ trên? –

+0

@Llg Tham số thứ hai để gọi lại, tôi đã cập nhật câu trả lời. – Duncan

+0

Cảm ơn bạn rất nhiều! –

0

Tài liệu nói: 'Tùy chọn một hoặc nhiều đối số sẽ được chuyển vào nghe sự kiện

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

+0

Đây không phải là sự kiện '$ broadcast'. – maxathousand

Các vấn đề liên quan