angularjs - ngRoute resolve injector issue -
i'm getting error saying,
[$injector:unpr] http://errors.angularjs.org/1.4.1/$injector/unpr?p0=qprovider%20%3c-%20q%20%3c-%20searchresult when use following config , controller. i'm trying resolve , http request on specific route.
.when('/fsr/:first', { templateurl: 'views/fsr.html', controller: 'fsrctrl', resolve: { searchresult: ['$http', 'q', function($http, $q) { var def = $q.defer(); var samples; $http.get('/api/fsr').success(function(data, status){ samples = data; def.resolve(data); }) return { getsamples: function() { return def.promise; } } }] } }) .controller('fsrctrl', ['$scope', 'searchresult', function($scope, searchresult){ searchresult.getsamples().then(function(data){ console.log(data); }) }]) why i'm getting this?
here solution, change q $q.
searchresult: ['$http', '$q', function($http, $q) { ... } var app = angular.module('webbapp', ['ngroute']); app.config(['$routeprovider', function ($routeprovider) { console.log('woot'); $routeprovider .when('/fsr', { templateurl: 'fsr.html', controller: 'fsrctrl', resolve: { searchresult: ['$http', '$q', function($http, $q) { var def = $q.defer(); var samples; $http.get('/api/fsr').success(function(data, status){ samples = data; def.resolve(data); }) return { getsamples: function() { return def.promise; } } }] } }) }]) .controller('fsrctrl', ['$scope', 'searchresult', function($scope, searchresult){ searchresult.getsamples().then(function(data){ console.log(data); }) }]) angular.bootstrap(document, ['webbapp']); <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <!doctype html> <html> <head> <link rel="stylesheet" href="style.css"> </head> <body> <h1>hello plunker!</h1> <a href="#/fsr">load fsr view</a> <div ng-view=""></div> <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular-route.min.js"></script> <script src="app.js"></script> </body> </html>
Comments
Post a Comment