我使用多字段功能在 AEM 中创建了一个自定义组件。但是,它会自动将值放在一个长字符串中,中间用逗号分隔。
我已经使用自定义 JS 文件获取了数组中的值,但仍然无法弄清楚如何将它们分开或列出。
我不确定是否可以在我的 JS 文件的循环中或在引用 JS 的 HTL 文件中通过使用 data-sly-repeat 或 data-sly-list 来完成此操作
我希望每个值都是一个单独的链接标签,输入中的值作为 href。
这是js文件:
"use strict";
use(function() {
var csspath = properties["csspath"];
var links = "";
for(var i = 0; i < csspath.length; i++) {
links += csspath[i]
}
return {
linkarray: links
};
});
以及引用它的html:
<sly data-sly-use.csslinks="csslinks.js" />
${csslinks.linkarray}
现在html简单地打印出来
test1test2
但我希望它显示为
<link href="test1.css" />
<link href="test2.css" />
无需用户实际输入<link href=.... />
我试过像这样在JS文件中添加html语法......
for(var i = 0; i < csspath.length; i++) {
links += '<link href="' + csspath[i] + '.css" />'
}
甚至只是
for(var i = 0; i < csspath.length; i++) {
links += csspath[i] + "<br />"
}
但它每次都会出错