1

我有以下简单的设置:

一个控制器,它调用一个服务来获取类别列表:

$scope.enquiryCategories = CategoryServices.listCategories();

从外部 API 获取数据的服务:

listCategories: function () {
  return $http({method: 'GET', url: '/some_external_api/categories.json'}).then(function (result) {
    return result.data.custom_field_options;
  });
}

在视图中,我只是 ng-repeat over the enquiryCategories。

它可以工作,但是在某些情况下,它不会在第一次加载时显示列表,从而迫使用户刷新页面。这就像我有某种时间问题,但我迷失了可能导致它的原因。

我已经尝试实现 listCategories 来返回一个承诺对象,但它仍然遇到同样的问题。

我正在使用 AngularJS 1.0.8。

任何帮助或提示将不胜感激。

4

1 回答 1

1

您还需要.then()在控制器中使用以完全解决它:

CategoryServices.listCategories().then(function(data) {
    $scope.enquiryCategories = data;
});
于 2013-10-08T01:00:30.547 回答