Javascript 获取自定义节树中的父节点
我在Umbraco 7的自定义部分中有一个多级树,其中根节点始终是国家 丹麦 项目1 项目2 斯维登 项目1 项目2 挪威 项目1 项目2 现在,在处理丹麦的项目2时,我想获得根节点丹麦的节点ID,以便知道我在哪个国家工作 是否有任何JavaScript API可以在节点级别上递归,并得到最顶层的扩展 提前谢谢。Javascript 获取自定义节树中的父节点,javascript,c#,umbraco7,Javascript,C#,Umbraco7,我在Umbraco 7的自定义部分中有一个多级树,其中根节点始终是国家 丹麦 项目1 项目2 斯维登 项目1 项目2 挪威 项目1 项目2 现在,在处理丹麦的项目2时,我想获得根节点丹麦的节点ID,以便知道我在哪个国家工作 是否有任何JavaScript API可以在节点级别上递归,并得到最顶层的扩展 提前谢谢。 乔纳斯最简单的方法是使用剃须刀: var parentNode = CurrentPage.AncestorOrSelf(1); 这将为您提供当前页面的根节点,您可以根据需要访问根节
乔纳斯最简单的方法是使用剃须刀:
var parentNode = CurrentPage.AncestorOrSelf(1);
这将为您提供当前页面的根节点,您可以根据需要访问根节点的属性:
int id = parentNode.Id;
我所做的就是使用editorState
我在运行Umbraco 7.5.7
angular.module("umbraco").controller("Client.Controller",
function ($scope, editorState) {
// Get the rootNode out of the path.
var rootNode = editorState.current.path.split(",")[1];
});
由于路径包含当前节点所在的整个结构,因此第二个第一个节点将是根节点
另一个解决方案可能是:
我自己还没有测试过
其中以一种简单的方式陈述:
将appState和treeService注入角度控制器
这将获得当前树的最顶端节点:
var rootNode=appState.getTreeStatecurrentRootNode
这将获取自定义树中当前选定的节点
var selectedNode=appState.getTreeStateselectedNode
由于我在后端部分的角度控制器中工作,很遗憾razor不是一个选项。因此,我需要JS的方式:谢谢你。