Директива загрузки AngularJS перед данными - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть вопрос о пользовательских директивах в AngularJS.

У меня есть список в моей области, список объектов, которые я использую для создания строк tr в таблице с помощью ng-repeat.Строка tr является пользовательской директивой.

У меня есть что-то вроде:

<tr custom-tr ng-repeat='element in list'></tr>

Поскольку список заполняется с помощью HTTP-вызова, список заполняется понемногу, поскольку у меня есть foreachдля каждого результата в моем ответе JSON:

promise.then(function(json) {
  json.data.foreach(function(response) {
      other_promise.then(funtion(element) {
        $scope.list.push(element);
    })
  })

})

Так как $ scope.list получает новые элементы понемногу, моя таблица должна каждый раз отображать новую строку, но на самом деле она ждет концаforeach перед рендерингом TR.

Когда я смотрю на вкладку сети инспектора, я замечаю, что HTML-шаблон строки tr загружается ПОСЛЕ всех обещаний.

Network inspector

Есть ли способ предварительно загрузить шаблон, чтобы я мог видеть строки в моей таблице до того, как все обещания будут выполнены?Или я должен сделать это по-другому?

Заранее благодарю,

1 Ответ

0 голосов
/ 13 декабря 2018

О первом решении (ng-if) я думал об этом некоторое время назад, но даже если список не пуст (хотя бы один элемент), это не означает, что шаблон html загружается так, как он загружается всамый конец.У вас может быть 35 элементов, если все обещания не выполнены, это не сработает.

Я попробовал второе решение с аналогичным пакетом NPM, и теперь оно работает.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...