【发布时间】:2016-11-08 04:39:57
【问题描述】:
我可以有一个带有多个参数的$broadcast $on,
类似:
$scope.$broadcast('event',$scope.item, $scope.item);
在任何情况下都可能有这样或类似的东西吗?
【问题讨论】:
标签: angularjs events broadcast
我可以有一个带有多个参数的$broadcast $on,
类似:
$scope.$broadcast('event',$scope.item, $scope.item);
在任何情况下都可能有这样或类似的东西吗?
【问题讨论】:
标签: angularjs events broadcast
只需将参数放入一个对象中:
$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
});
【讨论】:
文档说:
'可选的一个或多个参数,将传递给事件 听众的
$rootScope.$emit(event_name, p1, p2, p3);
【讨论】:
$broadcast 事件。
$scope.$broadcast('broadcast-my-event', anyVariable);
anyVariable = {key1: value1, key2: value2};
// or
anyVariable = [value1, value2, value3];
【讨论】: