首页 > angular json数据处理问题

angular json数据处理问题

  1. angular一般分为service controller层, service层用于从接口获取数据,controller层用于向html传递数据,请教一下service 获取到了接口数据,处理逻辑一般放在service ,还是controller, 其实处理逻辑就是从json中获取一个值得操作。

  2. 我根据从json中取数据发现undefine.麻烦看一下哈。
    service:

(function(){
    angular
        .module('Admin',['ngResource'])
        .factory('dashboardservice',['$resource',function($resource){
                return $resource('/home',{},{
                    query:{method:'GET',isArray:false}
                });
            }]);
}());

controller控制器:

(function(){
    angular
        .module('Admin')
        .controller('dashboard',function($scope,dashboardservice){
            var info = dashboardservice.query();    //query 返回的值是 {"status":"success","desc":"","result":"Albert"}
            $scope.username = info.result;     //undefine
            $scope.username = info["result"];  //undefine
        }
    );
}());


请问一下,为什么username获取的值一直是undefine


dashboardservice这个service应该返回一个Promise对象,把$scope.username的赋值操作写在

.then(function(res){
    $scope.username = res[属性名]
})

Promise的回调里。

controller里的代码是同步的,接口请求是异步的。


dashboardservice.query()这时候应该返回的还是个Promise对象,在页面上可以直接取到值,
in controller:
$scope.info = dashboardservice.query();
in view:
{{info.result}}

如果直接想在controller拿到值,我想应该这样写才对:

 dashboardservice.query().$promise.then(function(callback){
    $scope.username = callback.result;
});
【热门文章】
【热门文章】