我在这方面遇到了很多麻烦,我似乎在 SO 或 Google 上找不到任何可以帮助我发现我做错了什么的东西
<!DOCTYPE html>
<html data-ng-app="testApp">
<head>
<title></title>
</head>
<body>
<div data-ng-controller="myController">
{{test}}<br/>
{{test2}}<br/>
{{test3}}
<ul>
<li data-ng-repeat="member in members">{{ member.firstname}}</li>
</ul>
</div>
<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript">
angular.module('testApp', ['memberFactory']);
angular.module('testApp',[])
.factory('memberFactory', function($http){
var obj = {};
obj.data = "abcd";
obj.getResponse = function(){
var temp = {};
$http.get('hello.php').success(function(data){
alert(data);
temp =data;
});
return "some return value";
}
return obj
});
function myController($scope, memberFactory){
$scope.test= "testString";
$scope.test2= memberFactory.data;
$scope.test3= memberFactory.getResponse();
}
</script>
</body>
</html>
有效,return "some return value";
但是当我尝试返回 temp 时,它为空。我已经尝试了各种方法来让它工作,但我似乎无法在$http.get()
函数内设置临时值
这可能很简单(或者对我来说是一个愚蠢的错误/误导的方法)。任何建议将不胜感激