Можно ли в AngularJS вызывать метод $on более одного раза для одного $broadcast?

Я вижу очень странное поведение в своем приложении AngularJS.

Когда выполняется одиночная широковещательная рассылка, только (приемник )срабатывает дважды.

Эффект для всего приложения такой, как если бы приемник сработал только один раз . (т.е. в корзину добавляется только один из товаров ).

Если вы дважды активируете $broadcast (, т.е. дважды щелкнете по кнопке, запускающей $broadcast ), вы получите четыре запуска приемника, но в корзину будет правильно добавлено два предмета.

Есть ли здесь какая-то таблица -вроде пересчета? Должны ли функции $scope не влиять на «простые» переменные javascript?

Моя проблема в том, что я добавил alert, и он отображается дважды.


Я проделал дополнительную работу по отладке этого:

Я добавил счетчик, который считал, сколько раз была получена трансляция.

Если область действия (без доллара )является глобальной, я получаю удвоенный результат. Если его область действия локальна для функции Ctlr, я получаю не удвоенный результат -.

Мог ли я как-то создать два экземпляра моего контроллера?

Из firebug я вижу, что запросы $http ajax, выполняемые с контроллера, выполняются только один раз, поэтому я очень смущен.

11
задан fadedbee 21 July 2012 в 11:59
поделиться