【问题标题】:AngularJs data retrieval from $resource从 $resource 检索 AngularJs 数据
【发布时间】:2014-10-08 03:50:16
【问题描述】:

我有一项服务可以提供

services.factory('proService', ['$resource', function ($resource) {
    return {
        getValue: function (context_params) {
            var Pro = $resource('pro');
            return Pro.get({user_id: context_params.userId, course_id: context_params.cKey, activity_id: context_params.activityId});
        }
    };
}]);

我的控制器代码。但我只是把它当作一个承诺。我需要写一个回调来获取熟练度值。

$scope.getPro = function () {
        $scope.pro = proService.getValue({userId: $scope.userId, courseKey: $scope.courseKey, activityId: $scope.activityId});
        $scope.pro.rating = 5 * Math.round(($scope.pro.pro * 10)/5);
        console.log($scope.pro);
    };

$scope.pro 给我

f {$promise: Object, $resolved: false, $get: function, $save: function, $query:    function…}
$promise: Object
 >catch:function(callback){
 >finally:function(callback){
 >then:function(callback,errback,progressback){
 >_proto_:object
 $resolved: true
 proficiency: 2
 >profs:object
 >_proto_:Resource

我无法调用 pro 的值为“2”。这是我在控制器中尝试过的

$scope.getPro = function () {
        $scope.pro = proService.getValue($scope.userId, $scope.snapshotId).then(function(data) {
             $scope.rating = data.pro;
             console.log($scope.rating);
             });
        };

请帮助我解决我在这里做错的事情。谢谢

【问题讨论】:

    标签: angularjs callback


    【解决方案1】:

    您需要重写您的控制器代码来处理从您的服务返回的承诺。试试这个:

    $scope.getProficiency = function () {
            proficiencyService.getValue({userId: $scope.userId, courseKey: $scope.courseKey, activityId: $scope.activityId}).
        then(function(proficiencyValue) {
            $scope.proficiency = proficiencyValue;
            $scope.proficiency.rating = 5 * Math.round(($scope.proficiency.proficiency * 10)/5);
            console.log($scope.proficiency);
        });
    };
    

    【讨论】:

      猜你喜欢
      • 2020-04-09
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多