使用Angular和Parse.com获取

GET with Angular and Parse.com

本文关键字:com 获取 Parse Angular 使用      更新时间:2023-09-26

我刚开始使用http://parse.com我想得到一些以前存储的数据。我所尝试的一切似乎都应该有效,但我有一种感觉,由于某种原因,解析在AngularJS中不能很好地工作。

这是我的JS和HTML:

app.controller('FoodLog', function($scope) {
      Parse.initialize("XXXXXX", "XXXXXX");
      $scope.foodItems = [];
      var Food = Parse.Object.extend("Food");
      var parseFoodItems = new Parse.Query(Food);
      parseFoodItems.find({
        success: function(results) {
          for (var i = 0; i < results.length; i++) {
            var food_name = results[i].get('name');
            var food_protein = results[i].get('protein');
            var food_carbs = results[i].get('carbs');
            var food_fat = results[i].get('fat');
            $scope.foodItems.push({
              name: food_name,
              protein: food_protein,
              carbs: food_carbs,
              fat: food_fat,
              calories: (food_protein * 4) + (food_carbs * 4) + (food_fat * 9)
            });
          }
        },
        error: function(error) {
          alert("something broke" + " " + error.code + " " + error.message);
        }
      });
<div class="menu-items">
  <div ng-repeat="item in foodItems">
    <button class="btn btn-info" type="button" data-toggle="collapse" data-target="#food-{{$index}}">
      {{item.name}}
    </button>
    <div id="food-{{$index}}" class="collapse">
      <ul>
        <li>Protein: {{item.protein}}g</li>
        <li>Carbs: {{item.carbs}}g</li>
        <li>Fat: {{item.fat}}g</li>
        <li>Total Calories: {{item.calories}}</li>
      </ul>
    </div>
  </div>
</div>

我正在使用正确的Parse键,在我推送到我的foodItems数组后,我也尝试输出到控制台,并且这些项目正在被推送,它们只是没有被Angular拾取。如果我把项目硬编码到数组中,它们在我的HTML中显示得很好。

非常感谢您的帮助!非常感谢。

多亏了Phil,这是一个简单的$scope$apply();在我的"成功:"功能结束时。谢谢