片段 1 不起作用。我得到错误:[$injector:unpr] 未知提供者:$q
/* Snippet 1*/
var mApp = angular.module('MyApp',[]);
mApp.provider('authProvider', ['$q', function($q) {
this.$get = function(){
authProvider = {};
authProvider.Title = function(){
var deferred = $q.defer();
deferred.resolve("promise resolved");
return deferred.promise;
}
return authProvider;
}
}]);
但是,片段 2 有效。我很困惑为什么会这样?我读过的所有工厂示例代码,在第一行注入依赖,例如 .factory('MyFactory',[$q,function($q) {}]); 为什么这种风格在上面的提供者代码中不起作用?另外,为什么我们在 GET 声明的下方注入 $q 而不是在 TITLE 声明的下方注入。
/* Snippet 2*/
mApp.provider('authProvider', function() {
this.$get = function($q){
authProvider = {};
authProvider.Title = function(){
var deferred = $q.defer();
deferred.resolve("promise resolved");
return deferred.promise;
}
return authProvider;
}
});
请帮忙!!!
(代码现在没有做任何事情。我只是想学习语法)