一尘不染

AngularJS资源承诺

angularjs

我有一个使用$ resource的简单控制器:

 var Regions = $resource('mocks/regions.json');

 $scope.regions = Regions.query();

我在指令中使用此控制器(在链接功能中)

var regions = scope.regions;

但是区域是不确定的。调用是异步的,这很逻辑。

我的问题是我该如何等待结果和区域成为包含所有数据的数组?

UPDATE :

这里指令的定义

app.directive('ngMap', function() {
  return {
    restrict: 'EA',
    replace: 'true',
    scope: {

    },
    template: '<div id="map"></div>',
    controller: 'AccordMapCtrl',
    link: function(scope, element, attrs) {
      var regions = scope.regions;
      console.log(regions);

      for (var region in regions) {}
    };
  });

阅读 251

收藏
2020-07-04

共1个答案

一尘不染

如果要使用异步方法,则需要通过$ promise使用回调函数,示例如下:

var Regions = $resource('mocks/regions.json');

$scope.regions = Regions.query();
$scope.regions.$promise.then(function (result) {
    $scope.regions = result;
});
2020-07-04