javascript - angular json数据处理问题
大家讲道理
大家讲道理 2017-04-11 12:29:05
[JavaScript讨论组]
  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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
高洛峰

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

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

 dashboardservice.query().$promise.then(function(callback){
    $scope.username = callback.result;
});
大家讲道理

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

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

Promise的回调里。

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号