Daily Archives: 27.09.2013
AngularJS: почему не надо назначать обработчики на $rootScope внутри контроллеров
Вот здесь — https://blog.bullgare.com/2013/09/angularjs-%D0%BE%D1%82%D0%B2%D1%8F%D0%B7%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2-%D0%B8-%D1%80%D0%B0%D1%81%D1%81%D1%83%D0%B6%D0%B4/ подробно описано, как сложно всё выходит, если внутри контроллера повесить обработчик на события в $rootScope. Вкратце — потому, что при смене маршрута обработчик события никуда не девается, и его приходится руками удалять. Простое решение проблемы — вешать обработчики не на $rootScope, а на локальный $scope, который потом удалится вместе со всеми …
AngularJS: отвязывание обработчиков и рассуждение об опасностях использования вложенных контроллеров
В нашем приложении (чего уж тут скрывать — http://m.mamba.ru, тач-версия) всё построено на встроенных в angular маршрутах. При этом, как известно, шаблон страницы отрисовывается внутри тега ng-view. Появилось несколько страниц, на которых внутри контента (это важно) нужно показывать баннер.