当前位置: 首页 > 面试题库 >

AngularJS资源承诺

笪成周
2023-03-14
问题内容

我有一个使用$ 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) {}
    };
  });

问题答案:

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

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

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


 类似资料:
  • 问题内容: 在AngularJS中定义隔离资源的常用方法是: 我正在尝试找出编写与其他模型相关的模型的最佳方法,例如具有1个或多个s的模型。我的第一个想法是: 创建和作为独立资源模型 编写一个查询并观察结果数组的控制器 当结果数组更改时,请查询的所有商品ID,并使用扩展信息来装饰对象。 似乎有点混乱。有没有更优雅的方式? 问题答案: 上面的东西可以解决您的问题吗?然后,您将其用作 Angular的

  • 问题内容: AngularJS文档说: $ qpromise由模板引擎以角度识别,这意味着在模板中,您可以将附加到作用域的promise视为它们的结果值。 所以有人可以解释一下这种提琴无法正常工作的原因吗?不可能更改文本字段的值。但是分配保证$http服务返回作用域字段的工作就像一个超级按钮。 控制器: HTML: 问题答案: 您需要在promise对象上使用then()函数: 就您而言,我认为您

  • 问题内容: 我正在尝试使用Angular和Phonegap加载位于远程服务器上但遇到问题的视频。在我的JSON中,URL作为纯HTTP URL输入。 我的影片范本 我所有其他数据都已加载,但是当我查看控制台时,出现以下错误: 我尝试添加配置设置,但没有解决我的问题。 问题答案: 这是唯一对我有用的解决方案: 然后在iframe中:

  • 问题内容: 有谁知道如何检查以确保在AngularJS中无法提取资源? 例如: 有任何想法吗? 问题答案: 当出现错误时,您的第一个回调函数之后的另一个回调函数应触发。取自文档和论坛帖子: HTTP GET“类”操作:Resource.action([参数],[成功],[错误]) 非GET“类”操作:Resource.action([参数],postData,[成功],[错误]) 非GET实例操作

  • 问题内容: 我正在尝试编写一个AngularJS资源模块,它将一些数据发布到服务器。默认的内容类型似乎是“ application /xml”。我试图将内容类型覆盖为“ application / x-www-form-urlencoded”。当执行普通的$http.post()时,我可以设置内容类型,当我检入Firebug时,可以看到设置正确。当我使用资源的POST方法时,无法获得要从默认值更改

  • 问题内容: 我正在使用angular 1.1.5,并且正在使用$ resource将XHR制作为REST服务,但似乎$ resource并未将标头附加为X- Requested-With和XMLHttpRequest, 是正常行为? 和我是否需要手动附加标题? 问题答案: 只需将其添加到您的应用中