我正在尝试一些Angular,我仍然有我的JQuery头。
我有一个包含下拉导航的div,其中包含一个链接。当单击链接时,我希望div消失并被一些ajaxed内容替换,并且我希望标记为可标记范围。
A创建了3个嵌套指令,每个指令都有自己的范围(范围:true):
我的问题,它可能是一个简单的问题,我如何从flagButton范围到最近的包含可标记范围,以便我可以在flaggable范围内设置标记参数。
我不想假设flagLink总是在下拉列表中,或者总是有3个嵌套作用域,可能会有更多。
在JQuery中,这很简单,我只是使用遍历来获取.closest('。flaggable')元素,并在其上设置值。这对我来说似乎并不是很有角度。我很可能会尝试一些荒谬的事情。
谢谢!
答案 0 :(得分:1)
提示:在指令指令定义对象(和controller
)中使用require
和read the guide属性。
答案 1 :(得分:1)
范围相互继承。没有必要知道哪一个是最近的可标记范围。
E.g。您可以在flaggable
范围内执行此操作:
$scope.setFlag = function(val) { ... };
在flaggable
范围内,您可以致电$scope.setValue(val)
,因为您始终可以确定此功能是否存在。
另一种方法是为flaggable
设置控制器,并在require: '^flaggable'
指令的定义中指定flagButton
。