0
私はAngularJSでプロジェクトビルドしており、配列で応答するapiにhttp getリクエストを行います。AngularJSとPromise
問題は応答に私に約束があり、必要な配列ではないということです。
スコープに割り当てようとすると、定義されません。
これは、工場出荷時のコードです:
angular.module('app')
.factory('utils', function($rootScope, $translate, $state, $sce, $http) {
return {
settings: {},
getLanguages: function(){
var _url = $rootScope.baseUrl+'/languages';
var lang = $http({
withCredentials: false,
url: _url,
method: "GET",
headers: { 'Content-Type': undefined },
transformRequest: angular.identity
});
return lang;
}
};
});
これは、ディレクティブコードです:
angular.module('app').directive('leftPanel', function($rootScope, player, search, users, utils) {
return {
restrict: 'E',
templateUrl: 'assets/views/directives/left-panel.html',
replace: true,
scope: true,
link: function($scope, el) {
var searchBar = el.find('input');
$scope.player = player;
$scope.search = search;
$scope.users = users;
utils.getLanguages().then(
function(answer){
$scope.languages = answer.data;
}
);
console.log($scope.languages);
searchBar.on('focus', function() {
if (search.query || search.results.length) {
search.showPanel();
}
});
if ($rootScope.isPhone) {
$rootScope.$on('$stateChangeStart', function() {
el.addClass('closed');
});
}
}
};
});
問題は、私は私が思うundefined
'$ http.get(url、data)' – Weedoze
私はあなたに質問を編集しました。今はうまくいくはずです。約束を追加 – Ved
@Ved質問を編集しないでください。あなたの答えを加えてください。 「それで」を追加するだけではうまくいかないので、私は「不定」 –