Любой из вас знает о разнице между ItemRenderer и
Repeater. Оба ведут себя почти одинаково. Есть ли разница?
Я не уверен, как они могут вести себя одинаково, но не видя ваш код, трудно судить. Я постараюсь объяснить разницу; или скорее; что каждый из них
Под капотом ItemRenderer - это ClassFactory . Фабрика - это шаблон проектирования для класса, который создает другие классы. В контексте Flex itemRenderers используются в классах на основе списка, таких как DataGrid или List. Классы на основе списка принимают dataProvider и отображают только элементы, видимые на экране. При прокрутке списка каждый компонент, созданный itemRenderer, используется повторно. Я называю это переработкой рендерера. Поэтому важно, чтобы вы реализовали свой itemRenderer для ответа на событие dataChange, чтобы он всегда правильно отображал данные, которые он должен представлять. Больше информации о itemRenderer компонентов .
Повторитель похож на цикл в MXML. Использование повторителя не дает никаких преимуществ «рендеринга», которые дает класс на основе списка. Все, что создано в вашем цикле, отрисовывается сразу.
Итак, допустим, у вас есть провайдер данных с 100 изображениями. У вас есть место, чтобы показать 10 из них на экране. При использовании класса, основанного на списке, flex будет отображать и загружать 10 изображений; изменение того, что загружается при прокрутке списка. С помощью Repeater Flex будет рендерить и загружать все 100 одновременно, хотя не все из них находятся на экране.