我似乎在将json从我的工厂发送到控制器时遇到了问题
这是我的工厂
 .factory("UserService", function($http) {
var LevelsHere;
$http.get("/assets/images/generated.json").success(function(data){
    LevelsHere = data;
    return LevelsHere;
});
    return {
        all: function() {
          return LevelsHere;
        },
        first: function() {
          return LevelsHere[0];
        }
      };
})
我只是试图用这个工厂发送json对象(或者它的一部分).我可以在http get里面调试console.log似乎抓住了json就好了.我似乎已经撞墙了,任何帮助都会非常感激.我希望所有广告的第一个功能都能正常运行.谢谢!
我首先通过使用json字符串硬编码levelHere来获得成功,例如var levelsHere = [{"stuff in here"}],但是当我将它移到$ http时它不起作用.
由于您没有$watch查看异步$http.get请求返回的值,因此消费者无法使用更新的值.当$http.get请求返回一个promise时,您可以利用promise并更新promise的成功值then(),如下所示:
var app = angular.module('app', [])
.factory("UserService", function($http) {
    var LevelsHere = $http.get("https://api.github.com/users/mralexgray/repos")
               .success(function(data){
                 return data;
               });
    return {
        all: function() {
          return LevelsHere;
        }
      };
})  
.controller('controller', function(UserService, $scope){
    UserService.all().then(function(data){
        $scope.value = data;    
    });
})
| 归档时间: | 
 | 
| 查看次数: | 189 次 | 
| 最近记录: |