$digest cycle occcurs when the watchers are fired,When a watcher is fired, AngularJS evaluates the scope model, and if it has changed then the corresponding listener function is called. Assume that you change a scope model in a handler function through the ng-click directive