我試圖從一個服務中獲取一些數據到一個控制器,我不斷得到一個未定義的變量。
angular
.module("classes")
.service("MyService", function ($http) {
this.foo;
$http.get("/classes/all").then(function (response) {
this.fighters = response.data;
this.foo = this.fighters;
console.log(this.foo);
});
console.log(this.foo);
})
當我運行這個控制檯時,按照這個順序,第11行是未定義的,然後第9行返回數組。
而當我在控制器中嘗試獲取變量foo時,它也表示未定義。
$scope.fooFighters = MyService.foo;
後執行http,如果添加console.log($ scope.fooFighters);在控制器之後。我首先在控制器中獲取未定義的變量,然後從服務console.log(this.fighters)獲取數組; –
嘗試上面的代碼。將您的服務更改爲工廠以返回承諾對象。 – Vivz
我絕對嘗試過。它在控制檯上保持日誌「undefined」 –