如何直观地使用整数值来迭代循环多次值?
How to use an integer value in sightly to iterate loop as many time of value?
我想直接根据整数值迭代一个循环就像如果整数值为5那么循环将迭代五次。
我在 jsp 页面中知道使用 JSTL 的方法:
<c:forEach var="item" begin="1" end="${properties.value}" varStatus="loop">
//statement
</c:forEach>
以上 "end" 我从对话框中获取值,如果我传递的值类似于 5,那么循环将执行 5 次。
我在下面提到了 link :
我也进行了几次 google 搜索,但我没有找到这种情况的任何示例,每个示例都基于 sightly List。
我想根据从对话框中传递的整数值使用 sightly 来执行此操作。
谢谢,
Arpit 宝来
在 HTL/Sightly 中你只能迭代一个集合:https://github.com/Adobe-Marketing-Cloud/htl-spec/blob/master/SPECIFICATION.md#227-repeat
解决方法是使用一个 Use-API 助手,然后简单地创建一个具有所需大小的列表,以便您可以迭代。
分享我的解决方案,对其他人有帮助:)...
经过几次 google 搜索并从 Sightly/HTL Documentation 我了解到 Sightly/HTL 仅遍历集合 .
所以我用“HTL JavaScript Use-API”来解决我的问题。
首先在我的 .js 文件中,在获取对话框整数值后,我将返回一个基于该值的数组。
以下是我的“itemCount.js”文件的代码:
"use strict";
use(function () {
var count = properties["loopCountValue"];
return new Array(Number(count));
});
第二个在我的 .html 文件中,使用 Sightly List (data-sly-list) 我正在迭代数组。
以下是我的“testCount.html”文件的代码:
<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>
--
谢谢,
Arpit 宝来
我想直接根据整数值迭代一个循环就像如果整数值为5那么循环将迭代五次。
我在 jsp 页面中知道使用 JSTL 的方法:
<c:forEach var="item" begin="1" end="${properties.value}" varStatus="loop">
//statement
</c:forEach>
以上 "end" 我从对话框中获取值,如果我传递的值类似于 5,那么循环将执行 5 次。
我在下面提到了 link :
我也进行了几次 google 搜索,但我没有找到这种情况的任何示例,每个示例都基于 sightly List。
我想根据从对话框中传递的整数值使用 sightly 来执行此操作。
谢谢,
Arpit 宝来
在 HTL/Sightly 中你只能迭代一个集合:https://github.com/Adobe-Marketing-Cloud/htl-spec/blob/master/SPECIFICATION.md#227-repeat
解决方法是使用一个 Use-API 助手,然后简单地创建一个具有所需大小的列表,以便您可以迭代。
分享我的解决方案,对其他人有帮助:)...
经过几次 google 搜索并从 Sightly/HTL Documentation 我了解到 Sightly/HTL 仅遍历集合 .
所以我用“HTL JavaScript Use-API”来解决我的问题。
首先在我的 .js 文件中,在获取对话框整数值后,我将返回一个基于该值的数组。 以下是我的“itemCount.js”文件的代码:
"use strict";
use(function () {
var count = properties["loopCountValue"];
return new Array(Number(count));
});
第二个在我的 .html 文件中,使用 Sightly List (data-sly-list) 我正在迭代数组。 以下是我的“testCount.html”文件的代码:
<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>
--
谢谢,
Arpit 宝来