Cache Service Proto
by Aides
HTML
<div ng-app="app">
<div ng-controller="testCtrl as test">
<p ng-repeat="elem in test.data">
<span ng-bind="elem"></span>
</p>
<button ng-click="test.load()" value="Load">
Load
</button>
<button ng-click="test.clear()" value="Clear">
Clear
</button>
</div>
</div>
JavaScript
angular.module('app', [])
.controller('testCtrl', ['$scope', 'dataService', function($scope, dataService) {
var self = this;
self.data = ["test"];
self.load = function()
{
log("called");
/*dataService.getAll().then(function(data)
{
log('called back');
log(self.data);
log(data);
console.log(data);
//self.data = data;
log(self.data);
});*/
};
self.clear = function()
{
console.log('test');
dataService.clear();
};
}])
.service('dataService', ['dataServer', function(dataServer)
{
var stored;
function getAll()
{
return dataServer.getAll().then(function(data)
{
stored = data;
return data;
});
}
function clear()
{
delete stored;
}
return {
getAll: getAll,
clear: clear
};
}])
.service('dataServer', ['$q', function($q)
{
function getAll()
{
return $q.resolve(['item1', 'item2', 'item3', 'item4']);
}
return {
getAll: getAll
}
}])
function log(text)
{
document.body.innerHTML += text + '<br>';
}