AngularJS $q example

by Rishi Kumar

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.js"></script>
<div ng-app="myApp">
  <div ng-controller="sample">
      <div data-preload-resource="/api/v1/hikes/the-narrows.json"> 
        {"name":"The Narrows"}
      </div>
  </div>
</div>

JavaScript

angular.module("myApp",[])
.controller("sample",function($scope){

})
.factory("resourceCache",["$cacheFactory",
    function($cacheFactory) { 
      return $cacheFactory("resourceCache"); 
    }
])
.directive("preloadResource", ["resourceCache", 
    function(resourceCache) {
      return { link: function (scope, element, attrs) { 
        resourceCache.put(attrs.preloadResource, element.html()); 
      }};
    }
])