Angular sharing and binding async data
A demo on sharing and updating async data.
HTML
<div ng-controller='gg'>
{{user}}
</div>
<div ng-controller='aa'>
<input ng-model='user.name' type="text">
</div>
JavaScript
var app = angular.module('app', [])
app.factory('usr', function($timeout, $q){
defer = $q.defer();
defer.resolve({name:'jon'});
return {
get: function(e){
var self = this;
console.log(self);
defer.promise.then(function(data){
self.cached = data;
});
return defer.promise;
},
cached: {}
}
});
app.controller('gg', function(usr, $scope){
usr.get().then(function(data){
$scope.user = usr.cached;
console.log(e);
})
});
app.controller('aa', function(usr, $scope){
usr.get().then(function(data){
$scope.user = usr.cached;
console.log(usr.cached);
})
});
angular.bootstrap(document.body, ['app'])