Usando a função $apply do AngularJS

Esta publicação serve como documentação para quem está fazendo um treinamento de AngularJS. A ideia é explicar para que serve a função $apply.

Digamos que você esteja utilizando uma função Javascript ou de alguma outra biblioteca Javascript no qual esteja fora do $scope do Angular. Imagina o cenário abaixo

setInterval(function(){
$scope.$apply(function(){
$scope.numero++;

})

})

SetInterval não foi informado como função na chamada do controller e com isto o $scope não consegue acompanhar as mudanças ocorridas neste controller. Para forçar o Angular a acompanhar estas mudanças utilizamos a função $apply.