【问题标题】:resolve resource in route解析路由中的资源
【发布时间】:2015-06-30 20:03:24
【问题描述】:

尝试将我解析的数据发送到我的控制器。事情解决得很好,只是不知道如何将它传递给我的控制器。现在,当我尝试注销已解析的数据时,我变得不确定。

我的模块:

angular.module('projects').config(['$stateProvider',
    function($stateProvider) {
        $stateProvider
        .state('view', {
            url: '/:projectId',
            templateUrl: 'view.html',
            controller:'ProjectsClientController',
            resolve:{
                projectaa:function(apiResource, $stateParams){
                    apiResource.get({api_resource:'projects', api_value:$stateParams.projectId}).$promise.then(function(response){
                            return response;
                    }); 

                }
            }
        })
    }
])



angular.module('projects').controller('ProjectsClientController', ['$scope', '$stateParams', 'projectaa',
    function($scope, $stateParams, projectaa) {
        console.log(projectaa);


    }
]);

我做错了什么?

【问题讨论】:

    标签: angularjs angular-ui-router promise angular-promise angular-resource


    【解决方案1】:

    它还应该返回 apiResource.get 的承诺,以便在控制器内部可以访问承诺链 .then 函数

    代码

    projectaa: function(apiResource, $stateParams) {
        return apiResource.get({
            api_resource: 'projects',
            api_value: $stateParams.projectId
        }).$promise;
    }
    

    在控制器内部,您可以通过使用.then 解决该承诺来获取数据

    控制器

    projectaa.then(function(data){
       console.log(data); //you will get promise resolved here
       //which will return data here
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      相关资源
      最近更新 更多