如何等待来自资源的实际数据

问题描述:

所以我有一个使用ui-router的角度应用程序。我有使用资源获取数据的决心。如何等待来自资源的实际数据

app.config.js

resolve: { 
       data: function ($resource) { 

        var dataObj= $resource('/api/area/162'); 

        return dataObj.get({},function(result){ 
         return result; 
        }); 
       } 
      } 

我的控制器内调用的组件

... 

       var $ctrl = this; 
        console.log("data", $ctrl); 
... 

现在我知道,在等待数据的角度受让人空值返回一个对象。这反过来导致组件的执行,并且我在组件控制器中结束了空数据。现在怎么给力的角度,以等待来自服务器的数据,执行控制器

前,当我尝试

  resolve: { 
       data: function ($http) { 

        return $http.get('/api/area/162').then(function(response) { 
         return response.data; 
        }); 

       } 
      } 

一切工作正常,之前的数据被取出的观点并没有加载,我可以看到数据在我的控制器中。我如何使用资源实现相同的结果?

我也曾尝试:

app.config.js

  resolve: { 
       data: function (Data, $stateParams, $http, $resource) { 

        var object = $resource('/api/area/162'); 

        return object.get().$promise.then(function(result){ 
         return result; 
        }); 
       } 
      } 

这会返回一个错误:关于类似问题

stateService.ts:526 TypeError: Cannot read property 'then' of undefined 
at data (app.config.js:81) 
at resolvable.ts:120 
at angular.js:17051 
at m.$digest (angular.js:18233) 
at angular.js:18462 
at e (angular.js:6362) 
at angular.js:6642 

我已经阅读了大部分问题在计算器上以及一些文章,包括

https://www.jvandemo.com/how-to-resolve-angularjs-resources-with-ui-router/

+0

通过在控制器内部的数据上添加$ watch,我可以在数据到达时做些事情,但是我认为这是错误的,不应该这样做 –

的问题是我有错版角resource.js的:/

所以,这实际上工程....

app.config.js

 resolve: { 
      data: function (Data, $stateParams, $http, $resource) { 

       var object = $resource('/api/area/162'); 

       return object.get().$promise.then(function(result){ 
        return result; 
       }); 
      } 
     } 

问题解决:P