【发布时间】:2014-12-15 15:42:06
【问题描述】:
基于这个 Plunker:http://plnkr.co/edit/GufJjrn3OxYVSf2oLD5n?p=preview
我有两个指令,为了简单起见,我们将它们命名为directiveBlue 和directiveRed。
directiveRed 必须是directiveBlue 的子元素。
我们小应用的MainCtrl在变量$scope.elements下有一个简单的数组。
此变量通过data-elements 属性传递给directiveBlue 创建的隔离范围。请注意,directiveBlue 必须是一个 transclude 指令。
然后我的主要问题是,我如何将元素数组传递给 directiveRed 而不必通过 $scope.$parent.elements 来完成它,这在我看来是一种不好的做法,然后它使代码紧密耦合.
对 deepest 指令中元素的任何更改都应与其余范围同步。
对此有什么好的做法或有效的解决方案吗?
谢谢!
编辑:
更具体地说明我的用例:
我创建了一个具有更具体情况的 plunker (http://plnkr.co/edit/i2Busz6E8ehlkG3uEllh?p=preview),我想为一个操作组指定指令,我已经将一个选项实现为一个简单的指令,我想将我的逻辑放在指令控制器。 selectAll 方法非常简单,但我可以想象有更复杂的操作,这需要顶级范围的元素。
【问题讨论】:
标签: javascript angularjs angularjs-directive