在json / angularjs中重复数组

时间:2016-10-28 15:17:18

标签: javascript angularjs json

我试图创建一个日历,我将在AngularJS中的请求恢复中获取信息。我想创建一个日历,您可以在其中注册您的活动。使用json属性的日期,它将进入此事件并在当天注册一个图标。

我的错误是你可以在图片中看到它将获取一个数组并插入所有字段,而不仅仅是在注册到json的那一天。我的工作重复了42次,这是日历上的方格数。 有谁知道我的方法中的错误在哪里,我不明白。

图像

enter image description here

控制器

$scope.setDayContent = function(date) {

    return $http ({
        method : "GET",
        url : "app/components/home/controller/test_calendar.json"
      }).then(function mySucces(response) {
           return response.data.data[0].title;
        }, function myError(response) {
          $scope.valor = response.statusText;
      }); 

}; 

JSON

{"data":[
    {"title":"John", 
     "start":"2016-10-22"
    }, {
     "title":"Richard", 
     "start":"2016-10-25"
    }
]}

html

<calendar-md flex layout layout-fill
  calendar-direction="direction"
  on-prev-month="prevMonth"
  on-next-month="nextMonth"
  on-day-click="dayClick"
  ng-model='selectedDate'
  week-starts-on="firstDayOfWeek"
  tooltips="tooltips"
  day-format="dayFormat"
  day-content="setDayContent"
  ></calendar-md> 

1 个答案:

答案 0 :(得分:1)

您的功能setDateContent会针对日历中的每个日期运行。在success回调中,您需要添加逻辑来检查返回的数据并设置变量或返回当天所需的信息。

您不应该每天加载JSON。你应该加载JSON,然后检查函数中的每个日期。

    $scope.loadData = function(){
      return $http ({
        method : "GET",
        url : "app/components/home/controller/test_calendar.json"
      }).then(function mySucces(response) {
           $scope.jsonData = response.data;
        }, function myError(response) {
          $scope.valor = response.statusText;
      }); 
    }

$scope.setDayContent = function(date) {

    //check if $scope.jsonData contains date parameter
    // return title

};