Я использую Angular.js для приложения, которое использует скрытые trs для имитации эффекта выдвижения путем отображения tr и скольжения вниз по div в td ниже. Этот процесс работал фантастически с использованием knockout.js при итерации по массиву этих строк, потому что я мог использовать <!-- ko:foreach -->
оба элемента tr.
При использовании angular ng-repeat
необходимо применить к элементу html, что означает, что я не могу повторить эти двойные строки стандартными методами. Моим первым ответом на это было создание директивы для представления этих двойных trs, но этого не хватило, потому что шаблоны директив должны иметь один корневой элемент, а у меня два ( <tr></tr><tr></tr>
).
Если кто-нибудь с опытом работы с ng-repeat и angular, который взломал это, может объяснить, как решить эту проблему, я был бы очень признателен.
(Я также должен отметить, что прикрепление ng-repeat
к tbody - это вариант, но это создает несколько tbodys, и я предполагаю, что это плохая форма для стандартного HTML, хотя поправьте меня, если я ошибаюсь)
источник
Разработчик AngularJS @ igor-minar ответил на это в Angular.js ng-repeat для нескольких элементов .
Мишко Хевери недавно реализовал надлежащую поддержку через
ng-repeat-start
иng-repeat-end
. Это улучшение не было выпущено в версиях 1.0.7 (стабильная) и 1.1.5 (нестабильная).Обновить
Теперь это доступно в 1.2.0rc1. Ознакомьтесь с официальной документацией и этим скринкастом Джона Линдквиста.
источник
Наличие нескольких элементов может быть допустимым, но если вы пытаетесь построить прокручиваемую сетку с фиксированными верхними и нижними колонтитулами, следующее может не сработать. Этот код предполагает следующие CSS, jquery и AngularJS.
HTML
CSS для создания фиксированного верхнего / нижнего колонтитула для прокручиваемой сетки таблицы
Jquery для привязки горизонтальной прокрутки tbody, это не работает, потому что tbody повторяется во время ng-repeat.
источник
Вы можете сделать это таким образом, как я показал в этом ответе: https://stackoverflow.com/a/26420732/769900
источник