Angularjs:使用递归指令时如何在transclude中访问本地作用域

时间:2015-01-11 13:38:03

标签: angularjs recursion angularjs-directive angularjs-scope angularjs-ng-transclude

背景 我正在尝试从JSON模式设置树视图 - 我使用指令schema-tree执行此操作,因为我在此代码中进行了设置。在视图中,我试图转换DOM元素,以便可以重用此树视图。但是,由于每个端点都有一个transcluded DOM的副本,我需要确定已经访问了递归中已转换DOM的哪个副本。

问题: 但是,我尝试访问此范围失败了。我提出的最好的方法是修改指令的编译函数中的范围,但这会将transclude范围仅更改为指令的第一次调用的值,而不是每次调用都递归。

代码: 请在此处找到Plunker:http://plnkr.co/edit/3wmUbMTPNuBHXYOKHsho?p=preview 在这段代码中,schema-tree是一个递归树,我在按钮点击时为每次递归尝试提取path变量。我可以在每个指令中获得path但不能在我只得到.root的相关Transcluded DOM中获取。

问题: 我究竟做错了什么?如何访问已转换DOM中的直接父级的path

在相关的说明中我应该使用另一种方法来解决这个问题吗?

提前致谢!!!!!!!

0 个答案:

没有答案