0
我有此代碼(簡化):不能訪問內部子功能1 2的提供者在angularjs服務
angular
.module('app.core')
.factory('experienceDataservice', ['$http', 'Facebook', dataservice]);
function dataservice($http, Facebook){
var service = {
getExperiences: getExperiences
};
debugger;
function getExperiences() {
debugger;
}
}
而問題是,在第一debugger;
,所述dataservice
塊內我可以訪問兩個$http
和Facebook
但在第二個debugger;
,getExperiences
塊內,我只能訪問$http
而不是Facebook
。
我不明白爲什麼會發生這種情況。 我試着讓代碼儘可能簡單。 如果需要更多的細節問,我會提供。
較大的片段:
(function(){
'use strict';
angular
.module('app.core')
.factory('experienceDataservice', ['$http', 'Facebook', dataservice]);
function dataservice($http, Facebook){
var service = {
getExperiences: getExperiences
};
debugger;
function getExperiences() {
debugger;
var access = '';
var access = Facebook.getAccessToken(); //Does not work
var auth = 'Bearer' + access;
var req =
{
method: 'GET',
url: '/api/reviews?location=London&term=',
headers:
{
'Accept' : "application/json, text/javascript, */*; q=0.01",
'Authorization': auth
}
}
$http(req) // Does 'work'
.success(function(data, status, headers, config){debugger;})
.error(function(data, status, headers, config){debugger;});
}
return service;
}
})();
該代碼應該可以工作,您可以發佈更大的代碼段嗎? –
當然,添加了整個文件 –
在'Facebook.getAccessToken()'行我假設它給你一些錯誤,某些東西是未定義的。它是'Facebook'還是'gateAccessToken()'?基本上,當你做'console.log(Facebook)'時會發生什麼? –