метрики.параметр $ emit / $broadcast wont pass


У меня есть следующее:

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

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

И это где-то еще:

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

Как я могу убедиться, что я могу получить параметр cash в setmoney rootscope.по назначению?

Вывод после thisdata:

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

1 ответ:

Первым параметром, который получает $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);
});