我想在一列中列出我的所有标签名称。在列出它们时,我将每个标记的名称存储到数组tagarray
中。在列表下方,我想在<p>
内输出整个数组。
<div>
<#assign tagarray = []>
<#list elements as element>
<#if element.tags??>
<#list element.tags as tag>
<#if tag.myProperty??>
<span class="section-name">${tag.text}</span>
<br />
<#assign tagarray = tagarray + ["${tag.text}"]>
</#if>
</#list>
</#if>
</#list>
<p>${tagarray}</p>
</div>
问题是,这行代码:
<#assign tagarray = tagarray + ["${tag.text}"]>
似乎不起作用。根据一些网站的说法,上面的语法是正确的,所以我不知道它为什么不起作用。
答案 0 :(得分:1)
分配行在语法上看起来是正确的(尽管你不需要$
,你可以只写... + [tag.text]
,也可以用+=
来减少冗长,就像<#assign tagarray += [tag.text]>
)。 ${tagarray}
将失败,因为不清楚如何格式化序列。也许你想要${tagarray?join(', ')}
。
另请注意,如果多次添加序列,列出结果将会很慢。但是,在您的用例中可能不会引起关注。
答案 1 :(得分:0)
这里有代码,但是您无法在执行第2步之前将行修改为数组值,在本例中,只有在第2步中处理的值只有多少个,但在第4步中它将添加3个值,然后现在数组值已到,因此第5步执行4次。步骤2仅执行一次。
event.stopPropagation()