I have an app where I am using ngRoute to generate an SPA. I don't want to load the view until I have finished fetching the data from the DB. The below works but I am unable to pass the return data to my controller.
Angular Service:
angular.module('routeService',[])
.factory('dataFetch', function($http, $q){
var deferred = $q.defer();
var factory = {}
factory.getProposals = function(){
return $http.get('urlHere')
.then(function(response){
//promise is fulfilled
deferred.resolve(response.data);
console.log("readched the bio service!" + response.data);
//promise is returned
// return deferred.promise;
return response.data;
}, function(response){
deferred.reject(response);
//promise is returned
return deferred.promise;
});};
return factory;
});
Angular Controller:
var login = angular.module('login', ['ngRoute', 'routeService'])
// configure our routes
login.config(function($routeProvider,$locationProvider) {
$routeProvider
// route for the home page
.when('/', {
templateUrl: '/overview.html',
controller: 'login',
resolve: {
myDta: function(dataFetch){
return dataFetch.getProposals();
}
}
})
});
login.controller('login', function($scope, myDta){
$scope.prop = myDta
})
I get the following error:
Unknown provider: myDtaProvider <- myDta <- login