define(['app'], function(app){
function HttpService($scope, $q, $http, appConfig){
var url = appConfig.BASE_URL,
ret = {ok: 0, data: {ok: 0}};
function getA(){
var deferred = $q.defer();
deferred.resolve(ret.data); // 模拟请求成功
return deferred.promise;
}
function getB(){
var deferred = $q.defer();
deferred.resolve(ret.data);
return deferred.promise;
};
return {
getA: getA,
getB: getB
}
}
return app.factory('HttpService', [
'$scope',
'$q',
'$http',
'appConfig',
HttpService
]);
});
注入$scope,报错
干掉$scope,能正常跑
求解
首先,你犯的错误是,
HttpService
里压根就没用$scope
,注入她干嘛?给自己找不自在么^^?其次,我假设你就是故意想注入
$scope
,虽不用,但想知道错在哪里。 那么我们先说factory
,她本身是一种单例的存在,但$scope
是么?看下面文档:注意我选中部分,文档说一个
angular
应用只有一个rootScope
,但可以有多个$scope
,那么,既然HttpService
是单例,那给他注入的$scope
是谁?从哪里来?理解清楚为什么Controller
里可以注入$scope
很重要,再看文档:多读文档是好习惯哦:scope