2015-12-23 12 views
15

Soru:Sanal Tekrarlayıcı ve Açıölçer

İletki içinde Virtual Repeaters bulmak için tercih/kurallı yolu nedir?

Öyküsü: viewport alanda görünür satırların dinamik yeniden kullanım yardımıyla render performansını artırmak için yardımcı olan bir Virtual Repeater var Açısal Malzeme tasarımında

. Örnek:

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

Bonus Soru:

by.repeater da md-virtual-repeat ile çalışması için bir yol var mı anda

<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> 

, ben by.css konum tekniğini kullanmak zorunda?

cevap

5

findRepeaterRows() ve repeaterMatch() yerleşik işlevleri göre, by.repeater bulucu farklı farklı öneklerle niteliklerini benzeri "tekrarlamak" aramak için CSS seçicileri kullanır: Sonra

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

, tüm filtreler, izleme şeritler (track by), diğer adlar (as) ve daha sonra hangi yineleyici değerin eşleşmeye çalıştığını kontrol eder. Başka bir deyişle, by.repeater bir başka deyişle, sanal tekrarlayıcıları bulmak için gitmiyor. , sanal tekrarlayıcı track veya as gibi gelişmiş sözdizimi elemanlarını desteklemediğini dikkate alarak, bu noktada


:

burada bir özellik isteği düzenlendi Ben bir CSS seçiciyi kullanmak yeterli olduğunu düşünüyorum:

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