在angularjs(ui.router)中解析时,模板中没有数据

时间:2015-08-15 14:20:10

标签: javascript angularjs

我没有HTML输出但是当我console.log$http.get的结果时,我得到了我想要的对象。有人可以解释我如何从我的模板中的$http.get获取数据吗?

.state('secure/contacts',{
                url:'/secure/contacts',
                template:"Contacts: {{contacts  | json}}",
                resolve:{
                    contacts : function(UserService){
                        return UserService.all();
                    }
                },
                controller:function($scope,contacts){

                    $scope.contacts = contacts;


                }
            })

.service('UserService',function($http){
   return {
       get:get,
       all:all
    } ;

    function all(){
        $http.get('/api/contacts').then(function(payload){
            console.log(payload.data);
            return payload.data;
        });
    }

    function get(id){
        return $http.get('/api/user/'+id).then(function(payload){
            return payload.data;
        });
    }

});

2 个答案:

答案 0 :(得分:2)

您的function all(){ $http.get('/api/contacts').then(function(payload){ console.log(payload.data); return payload.data; }); } 函数不会返回任何内容。

替换

function all(){
    return $http.get('/api/contacts').then(function(payload){
        console.log(payload.data);
        return payload.data;
    });
}

通过

adb

答案 1 :(得分:1)

您需要从UserService.all方法返回承诺(function all() { return $http.get('/api/contacts').then(function(payload) { return payload.data; }); } ):

all()