javascript - Angularjs - 我得到了 data.data,但无法为其分配范围变量

标签 javascript angularjs amazon-web-services http

我正在开发一个基于 AngularJS 的网站,该网站从 Amazon Web Services 表中获取问题和多项选择答案,以便动态构建实验前问题页面。 http get 工作正常 - 当我放置断点并评估 data.data 的值时,它提供了我正在寻找的所有数据。

但是,在将其分配给 $scope.allQuestions 后,该变量在控制台中的计算结果为 undefined$scope.allAnswers 也是如此。在不同的页面上,我使用相同的代码毫无问题地获取缩略图/模拟 URL。

$location 工作正常,我注入(inject) $filter 以便稍后在 ng-repeat 中进行过滤。

我使用 AWS 上的 API 网关来调用它。我启用了 CORS,并且我对此处的两个函数使用了与我在其他有效函数中使用的相同设置。

代码如下。提前致谢!

app.service('preLabService', function($http) {
  this.getQuestions = function() {
    return $http.get('api-gateway-url');
  };
  this.getAnswers = function() {
    return $http.get('api-gateway-url');
  };
});

app.controller('PreLabQuestionsCtrl', ['$scope', '$location', '$filter', 'preLabService', function($scope, $location, $filter, preLabService) {
  init();

  function init() {
    preLabService.getQuestions().then(function(data) {
      $scope.allQuestions = data.data;
    });
    preLabService.getAnswers().then(function(data) {
      $scope.allAnswers = data.data;
    });
    $scope.simURL = $location.search().simURL;
    $scope.simID = $location.search().SimID;
  }
}]);

在我实际在浏览器中运行的代码中,我将 *'api-gateway-url' 替换为它们各自的 url - 我只是不想在这里给出 API url。

最佳答案

您真的需要将 thi 添加到 $scope 变量吗?

你能试试吗:

const vm = this

然后将数据值赋给vm.allQuestions和vm.allAnswers?

关于javascript - Angularjs - 我得到了 data.data,但无法为其分配范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45737762/

相关文章:

javascript - 如何在下载链接中传入身份验证?

javascript - Angular JS 条件 CSS 类不起作用

python - 在基于 django 的 Web 应用程序中使用 Angular 表达式

amazon-web-services - AWS Elastic Load Balancer 占用端口

javascript web workers - 我如何传递参数?

php - 如何在Jquery中隐藏/显示多个对象?

python - Django,Zappa - 运行时错误 : populate() isn't reentrant

android - 从 Android Studio Gradle 构建为 AWS Device Farm 生成 UIAutomator 测试 JAR

javascript - 如何停止无限循环?

javascript - 带有简单数组的基本 ng-repeat