title: Update scope value when service data is changed
body: <p>I have the following service in my app:</p>
  
  <pre><code>uaInProgressApp.factory('uaProgressService', 
      function(uaApiInterface, $timeout, $rootScope){
          var factory = {};
          factory.taskResource = uaApiInterface.taskResource()
          factory.taskList = [];
          factory.cron = undefined;
          factory.updateTaskList = function() {
              factory.taskResource.query(function(data){
                  factory.taskList = data;
                  $rootScope.$digest
                  console.log(factory.taskList);
              });
              factory.cron = $timeout(factory.updateTaskList, 5000);
          }
  
          factory.startCron = function () {
              factory.cron = $timeout(factory.updateTaskList, 5000);
          }
  
          factory.stopCron = function (){
              $timeout.cancel(factory.cron);
          }
          return factory;
  });
  </code></pre>
  
  <p>Then I use it in a controller like this:</p>
  
  <pre><code>uaInProgressApp.controller('ua.InProgressController',
      function ($scope, $rootScope, $routeParams, uaContext, uaProgressService) {
          uaContext.getSession().then(function(){
              uaContext.appName.set('Testing house');
              uaContext.subAppName.set('In progress');
              uaProgressService.startCron();
  
              $scope.taskList = uaProgressService.taskList;
          });
      }
  );
  </code></pre>
  
  <p>So basically my service update <code>factory.taskList</code> every 5 seconds and I linked this <code>factory.taskList</code> to <code>$scope.taskList</code>. I then tried different methods like <code>$apply</code>, <code>$digest</code> but changes on <code>factory.taskList</code> are not reflected in my controller and view <code>$scope.taskList</code>.</p>
  
  <p>It remains empty in my template. Do you know how I can propagate these changes ?</p>