0
AngularJSの$ httpサービスを介してRESTメソッド呼び出しを行う機能を持つサービスがかなりあります。これらのメソッドは、コントローラ内でアクセスされ呼び出されます。
コントローラを介してメソッドが呼び出されると、サービスのコンソールに出力されるデータは、JSONオブジェクトと同じです。しかし、その関数がそれをコントローラに返すと、それは未定義になります。
私はこの理由が分かりませんし、なぜこれが起こっているのかについてのいくつかの洞察が大好きです。スコープやガベージコレクションと関係がありますか?
ありがとうございます!
そこでここではサービス「ハブ」
this.getAllHubs = function() {
$http({
method: 'GET',
url: 'https://****.com',
}).then(function successCallback(response) {
console.log('In hub.js ' + JSON.stringify(response.data));
this.hubs = response.data;
return response.data;
}, function errorCallback(response) {
// Error response right here
});
};
だから、最初に期待されるコンソール出力プリントなどのオブジェクトが正しく
そして、ここであなたが返されませんでしたコントローラー・コード
app.controller('HubCtrl', HubCtrl);
HubCtrl.$inject = ['$scope','hub'];
function HubCtrl($scope,hub) {
$scope.hubs = hub.getAllHubs();
console.log('In ctrl ' + $scope.hubs);
$scope.addHub = function(_hub) {
console.log('In Ctrl ' + _hub);
hub.addHub(_hub);
};
}
それは私の友人だった、助けるために時間を割いていただきありがとうございます私、本当にありがとう!残りの夜/ 1日をお楽しみください! – Michael