Вложенные ng-повторы? [Дубликат]

Используя ES2017, вы должны иметь это как объявление функции

async function foo() {
    var response = await $.ajax({url: '...'})
    return response;
}

и выполнить его следующим образом.

(async function() {
    try {
        var result = await foo()
        console.log(result)
    } catch (e) {}
})()

Или синтаксис Promise

foo().then(response => {
    console.log(response)

}).catch(error => {
    console.log(error)

})
66
задан isherwood 28 January 2015 в 22:07
поделиться

3 ответа

Лучше иметь правильный формат JSON вместо прямого использования конвертированного из XML.

[
  {
    "number": "2013-W45",
    "days": [
      {
        "dow": "1",
        "templateDay": "Monday",
        "jobs": [
          {
            "name": "Wakeup",
            "jobs": [
              {
                "name": "prepare breakfast",

              }
            ]
          },
          {
            "name": "work 9-5",

          }
        ]
      },
      {
        "dow": "2",
        "templateDay": "Tuesday",
        "jobs": [
          {
            "name": "Wakeup",
            "jobs": [
              {
                "name": "prepare breakfast",

              }
            ]
          }
        ]
      }
    ]
  }
]

Это упростит и упростит процесс.

Теперь вы можете написать цикл как -

<div ng-repeat="week in myData">
   <div ng-repeat="day in week.days">
      {{day.dow}} - {{day.templateDay}}
      <b>Jobs:</b><br/> 
       <ul>
         <li ng-repeat="job in day.jobs"> 
           {{job.name}} 
         </li>
       </ul>
   </div>
</div>
99
ответ дан Prasad 27 August 2018 в 08:37
поделиться

Создайте фиктивный тег, который не будет отображаться на странице, но он будет работать как держатель для ng-repeat:

<dummyTag ng-repeat="featureItem in item.features">{{featureItem.feature}}</br> </dummyTag>
0
ответ дан Homero 27 August 2018 в 08:37
поделиться

Если у вас большой вложенный объект JSON и его использование на нескольких экранах, вы можете столкнуться с проблемами производительности при загрузке страницы. Я всегда использую небольшие индивидуальные объекты JSON и запрашиваю связанные объекты как ленивую нагрузку только там, где они требуются.

вы можете добиться этого, используя ng-init

<td class="lectureClass" ng-repeat="s in sessions" ng-init='presenters=getPresenters(s.id)'>
      {{s.name}}
      <div class="presenterClass" ng-repeat="p in presenters">
          {{p.name}}
      </div>
</td> 

Код на сторона контроллера должна выглядеть ниже

$scope.getPresenters = function(id) {
    return SessionPresenters.get({id: id});
};

Хотя фабрика API выглядит следующим образом:

angular.module('tryme3App').factory('SessionPresenters', function ($resource, DateUtils) {

        return $resource('api/session.Presenters/:id', {}, {
            'query': { method: 'GET', isArray: true},
            'get': {
                method: 'GET', isArray: true
            },
            'update': { method:'PUT' }
        });
    });
4
ответ дан Sacky San 27 August 2018 в 08:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: