角广播

时间:2015-11-18 16:18:03

标签: angularjs angularjs-scope

我想使用Angualr广播发送参数

我的控制器之一

$rootScope.$broadcast('handlemodeldelete', Idx); // I broadcast value 6

在另一个控制器中我有听众

 $scope.$on('handlemodeldelete', function(Idx)
 {

  });

但是从调试窗口看到后,Idx值达到了这个值。

currentScope: ChildScope
defaultPrevented: false
name: "handlemodeldelete"
preventDefault: ()
targetScope: Scope
__proto__: Object

任何线索。?

2 个答案:

答案 0 :(得分:1)

侦听器函数的第一个参数是一个事件对象,然后接下来调用$ broadcast时使用的任何参数。按如下方式定义处理程序:

$scope.$on('handlemodeldelete', function(event, Idx)
        {

        });

有关详细信息,请参阅AngularJS文档:

https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$on

答案 1 :(得分:1)

第一个参数是事件。您需要添加另一个参数:

("item2" "item3")

传递多个参数的一个例子是:

$scope.$on('handlemodeldelete', function(e, Idx){
    console.log("Event", e);
    console.log("IDX", Idx);
});

Angular Docs的更多信息: https://docs.angularjs.org/api/ng/type/$rootScope.Scope#$broadcast