使用AEM的数据迭代器从JS文件中提取数据并手动创建多字段循环
例如,假设我们有一个cq:dialog定义了一个多字段,其中包含多个文本字段。要在AEM JS文件中对这些字段进行操作,我们可以在cq:dialog的其中一项中创建一个'Datasource”字段,并在其值中指定一个JCR路径,该路径包含需要使用的多字段数据。然后,我们可以使用AEM的数据迭代器将数据提取到JS文件中,并手动创建多字段循环。下面是一个示例代码:
HTML代码:
JS代码:
(function() {
"use strict";
var data = eval('('+$("#datasource").val()+')'); //获取数据
var multi = $("coral-multifield[name='./multi']"); //获取多字段元素
multi.items.clear(); //清空多字段元素
for (var i = 0; i < data.length; i++) { //循环提供的数据
var multiItem = multi.items.add({}); //添加新元素
multiItem.child('input').val(data[i].fieldConfig);
}
})();