$rootscope.$emit / $broadcast 不会传递参数

$rootscope.$emit / $broadcast wont pass parameter

我有以下内容:

   $rootScope.$on('setmoney',function (thisdata) {

            console.log("setting money");
            console.log("money is : " + thisdata);
});

还有其他地方:

 $rootScope.$broadcast('setmoney', {cash: 100000});

如何确保我可以在 setmoney rootscope.on 函数中检索参数 cash?

此数据后输出:

Object {name: "setmoney", targetScope: Scope, defaultPrevented: false, currentScope: Scope}
currentScope
:
null
defaultPrevented
:
false
name
:
"setmoney"
preventDefault
:
()
targetScope
:
Scope
__proto__
:
Object

$on得到的第一个参数是事件本身。在第一个参数之后,您将获得与事件一起传递的其余参数。

$rootScope.$on('setmoney',function (event, thisdata) { // You forgot to pass the 'event' parameter before the rest of parameters
    console.log("setting money");
    console.log("money is : " + thisdata);
});