Я создал новый компонент в Polymer 2, внутри которого я буду использовать 2 веб-компонента, компонент a для отображения имени div и длины компонентов b, которые будут запускать dom-repeat внутри этого веб-компонента.С учетом сказанного, после завершения dom-repeat мой код не работает так, как я хочу.Мне нужно получить длину компонентов b после того, как dom-repeat run закончил, чтобы: - Получить длину и вставить мой счетчик в компонент a - Разделить все компоненты b на группы по 6 в одном div
Я сделал некоторый код JQueryв скрипте, и поместит опускание ниже, это работало с div по умолчанию, но когда я вставил метод ready, мой полимерный элемент возвращает 0, не дожидаясь окончания dom-repeat.Я попробовал setTimeout, но это тоже не сработало.
console.log('Init count');
var content = $('component-b').length;
console.log('Cards: ' + content);
var item = $('component-b');
for (var i = 0; i < item.length; i+=6){
item.slice(i, i+6).wrapAll('<div class="list"></div>');
}
var lists = $('.list').length;
console.log('Lists: ' + lists);
$('component-a').attr({
total:content
});
$('component-a').attr({
totalPages:lists
});
Здесь я расскажу, как это работает сейчас.У компонента a есть свойства для отображения счетчика.
<template>
<div class="secao">
<h2>{{title}}</h2>
<component-a>
<template is="dom-repeat" items="{{products}}" as="product">
<component-b class="product" product-id="{{product.productID}}" image-src="{{product.imageSrc}}" href="{{product.href}}"
main-title="{{product.mainTitle}}" authors-text="{{product.author}}" price-discount-value="{{product.priceDiscount}}"
price-value="{{product.realPrice}}" avaliation-score="{{product.avaliationScore}}" flag="{{product.flag}}"></component-b>
</template>
</component-a>
</div>
</template>
Это результат, показанный в Firefox.Количество инициаций Карты: 0 Списки: 0
Но у моего массива 24 карты, и с этим кодом jquery будет 4 списка