美观:遍历列表并使用其索引来打印另一个列表(不嵌套,仅共享索引)

时间:2019-02-14 07:04:02

标签: html list aem sightly htl

我有2张清晰的清单。对象allList内的list1和pathList

<div data-sly-list.list1="${allList.list1}">
    <img src="soemthing">
    <a href="XXXXXXXXX">${list1}</a>
</div>

在我写过“ XXXXXXXXX” 的地方,我需要放置类似

的东西
  

$ {pathList ['list1List.index']}

OR

  

$ {allList.pathList ['list1List.index']}

因此,基本上,我想使用第一个列表的索引来迭代第二个列表,并且不能使用嵌套循环。

但是每当我尝试使用上面提到的语法时,由于语法错误,我都会收到模板解析错误。有人请指导我如何实现这一目标。

1 个答案:

答案 0 :(得分:2)

您必须使用不带''的索引,例如:${allList.pathList[list1List.index]}

示例:

@Model(adaptables = Resource.class)
public class TestModel {

    @Inject
    Resource resource;

    private String[] abc = {"a", "b", "c"};
    private String[] def = {"d", "e", "f"};
    ...
}

HTL:

<sly data-sly-list.first="${model.abc}">
    <p>Test: ${first}  -  ${model.def[firstList.index]}</p>
</sly>

输出HTML:

<p>Test: a  -  d</p>
<p>Test: b  -  e</p>
<p>Test: c  -  f</p>