AngularJS Destroy ouvintes de $ scope

No AngularJS, cada ouvinte em qualquer $ scope deve ser destruído manualmente. Para fazer isso, quando você cria um ouvinte, ele retorna uma função para destruí-lo.

destroyCallback = $rootScope.$on 'my:event', ->
console
.log 'my code'

Assim, você pode destruí-lo quando o $ scope atual destruir

$scope.$on '$destroy', ->
# unbind listener 'my:event'
destroyCallback
()