Aem 如何在sightly中使用一个整数值来迭代尽可能多的循环时间?

Aem 如何在sightly中使用一个整数值来迭代尽可能多的循环时间?,aem,sightly,aem-6,htl,Aem,Sightly,Aem 6,Htl,我想在sightly中迭代一个基于整数值的循环,就像如果整数值是5,那么循环将迭代五次一样 我知道一种在jsp页面中使用JSTL的方法: <c:forEach var="item" begin="1" end="${properties.value}" varStatus="loop"> //statement </c:forEach> //声明 在上面的“end”中,我从对话框中获取值,如果我像5一样传递值,那么循环将执行5次 我参考了以下链接: 我

我想在sightly中迭代一个基于整数值的循环,就像如果整数值是5,那么循环将迭代五次一样

我知道一种在jsp页面中使用JSTL的方法:

<c:forEach var="item" begin="1" end="${properties.value}" varStatus="loop">
    //statement
</c:forEach>

//声明
在上面的“end”中,我从对话框中获取值,如果我像5一样传递值,那么循环将执行5次

我参考了以下链接:

我也做过几次谷歌搜索,我没有发现任何这种情况的例子,每个例子都是基于sightly列表

我想根据对话框中传递的整数值使用sightly执行此操作。

谢谢


在HTL中,Arpit Bora

,您只能在集合上迭代:


一种解决方法是使用API帮助程序,只需创建一个具有所需大小的列表,这样您就可以进行迭代。

共享我的解决方案,这将有助于其他人:)

在几次谷歌搜索之后,我从中了解到,Sightly/HTL只对集合进行迭代

所以我用“”来实现我的问题解决方案

首先在我的.js文件中,在获取对话框的整数值之后,我将基于该值返回一个数组。 下面是我的“itemCount.js”文件的代码:

第二,在我的.html文件中,我使用Sightly List(数据列表)迭代数组。 以下是我的“testCount.html”文件的代码:


根据从对话框传递的整数值迭代循环。
测试计数${itemCount}

  • 项目:${contentCountList.count}
--

谢谢


Arpit Bora

感谢@Vlad的建议,这真的很有帮助:)
"use strict";
use(function () {
    var count = properties["loopCountValue"];

    return new Array(Number(count));
});
<sly data-sly-use.clientLib="${'/libs/granite/sightly/templates/clientlib.html'}" />
<sly data-sly-use.itemCount="itemCount.js" data-sly-unwrap />
 
<sly data-sly-test="${!itemCount}">
    <div>
        <h2>Iterate a sightly loop based on Integer value passed from dialog.</h2>
    </div>
</sly>
 
<sly data-sly-test="${itemCount}">
    <p>Test Count ${itemCount}</p>
    
    <ul data-sly-list.contentCount="${colCount}">
        <li>ITEMS : ${contentCountList.count}</li>
    </ul>
</sly>