如何专门使用JavaScript获取子节点内容?
我可以使用以下方法获取父节点信息:
granite.resource.properties
但是我需要访问子节点
-parent
- 孩子(命名图片)
有一些方法可以使用Java访问子节点,但我正在构建一个仅限JavaScript的解决方案:
下面的Java示例
for (Node n1 : JcrUtils.getChildNodes(node)){
String imagePath = n1.getPath().toString();
Resource imageResource = resourceResolver.getResource(imagePath);
Node imageNode = imageResource.adaptTo(Node.class);
ValueMap imageNodeProps = imageResource.adaptTo(ValueMap.class);
String imageName = null;
imageName= imageNodeProps.get("fileReference", "None");
答案 0 :(得分:0)
我不知道如何获取子节点属性,但也许我有类似的问题因为我想在组件中使用图像。我试图将图像设置为子节点,但由于我不知道如何访问它,因此无效。 我最终得到的是使用css加载图像。
答案 1 :(得分:0)
使用AEM附带的图像基础组件有助于获得有关如何访问数据的指导。对我来说,只需要进行一些修改并使其按预期工作。您可以在此处找到AEM图像组件:
/库/ WCM /基础/组件/图像/
浏览提供的不同文件以获取更多信息。
答案 2 :(得分:0)
您可以在代码之间使用console.log()
并检查error.log
function(nodeInfo) {
/* from current node, get the children nodes */
nodeInfo.childrenNodes = currentNode.getNodes();
if(typeof nodeInfo.childrenNodes != "undefined") {
for(var childrenNode in nodeInfo.childrenNodes) {
/*iterate through children nodes, get specific 'child' node */
if(childrenNode === "specificChildNode") {
/* if required property is present, get that property */
if(nodeInfo.childrenNodes[childrenNode].hasProperty("requiredProperty")){
nodeInfo.reqProp = nodeInfo.childrenNodes[childrenNode].getProperty("requiredProperty");
}
}
}
}
return nodeInfo;
};