我一直在努力編寫一個服務來返回用戶名。服務不返回值
var username, $promise;
angular.module('TestApp').factory('UserService', function($http) {
$promise= $http.get('/api/getuser')
.success(function(data) {
username = data;
});
$promise.then(function() {
return username;
});
});
但是在一個控制器注入這項服務將在一個未定義的值返回
angular.module('TestApp')
.controller('UserLoginController', function($scope, UserService){
console.log("Username is: "+ UserService);
});
我已經證實,HTTP GET請求返回有效的用戶名值。我對角度相當陌生,如果有人能指出我在這裏做錯了什麼,我會非常感激。
問題的根源在於您的UserService工廠函數不返回任何內容;因此我懷疑控制器中的UserService工廠是未定義的。但是,我沒有時間嘗試重寫您的代碼。 – JeffryHouser
@JeffryHouser:好的。感謝您對它進行刺探。我真的懷疑我將它注入控制器的方式。 – pbd
我建議你在詢問任何問題之前,先通過角度網站上的phonecat教程。你顯然沒有得到angularjs的基礎知識。如果你的工廠不返回任何東西,它不是工廠。 – mpm