javascript - angular json数据处理问题

查看:100
本文介绍了javascript - 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.query()这时候应该返回的还是个Promise对象,在页面上可以直接取到值,
in controller:
$scope.info = dashboardservice.query();
in view:
{{info.result}}

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

 dashboardservice.query().$promise.then(function(callback){
    $scope.username = callback.result;
});

这篇关于javascript - angular json数据处理问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆