Виртуальный ретранслятор и транспортир

Вопрос:

каков канонический / предпочтительный способ найти Виртуальный Повторители в транспортира?

История:

в угловом материальном дизайне есть Виртуальный Репитер это помогает повысить производительность рендеринга с помощью динамического повторного использования строк, видимых в области видового экрана. Пример:

<div class="md-virtual-repeat-offsetter" style="transform: translateY(0px);">
    <div md-virtual-repeat="item in ctrl.dynamicItems" md-on-demand="" class="repeated-item ng-binding ng-scope flex" flex="">0</div>
    <div md-virtual-repeat="item in ctrl.dynamicItems" md-on-demand="" class="repeated-item ng-binding ng-scope flex" flex="">1</div>
    <div md-virtual-repeat="item in ctrl.dynamicItems" md-on-demand="" class="repeated-item ng-binding ng-scope flex" flex="">2</div>
</div>

на данный момент, я должен использовать by.css техника определения местоположения:

$$('[md-virtual-repeat="item in ctrl.dynamicItems"]');

Бонус-Вопрос:

есть ли способ сделать by.repeater также работы с md-virtual-repeat?

1 ответов


по словам findRepeaterRows() и repeaterMatch() встроенные функции, by.repeater locator использует селекторы CSS для поиска различных атрибутов типа "повтор" с разными префиксами:

ng-repeat
ng_repeat
data-ng-repeat
x-ng-repeat
ng:repeat

затем он удаляет все фильтры, отслеживая (track by), псевдонимы (as), а затем проверяет, какое значение ретранслятора мы пытаемся сопоставить.

другими словами, by.repeater в данный момент не собирается искать виртуальные ретрансляторы.

создал запрос здесь:


в данный момент, принимая во внимание, что виртуальные ретрансляторы не поддерживают расширенные синтаксические элементы as track или as, Я думаю, что использование селектора CSS достаточно хорошо:

$$('[md-virtual-repeat="item in ctrl.dynamicItems"]');