我一直在尝试影响父范围中的变量以从指令内部切换 ng-show。该指令是包含 ng-repeat 指令的自定义指令。这个想法是,一旦 ng-repeat 完成,我想隐藏包含的 div 以及其中的元素。
这是一个 Plunkr 演示我的情况:http ://beta.plnkr.co/edit/C42Z25?p=preview 这里 还有一个 JSFiddle 中的比较,它使用了同样的问题,但它不是一个 ng-repeat,所以它可以工作:http ://jsfiddle.net/dyzPC/
所以有几个问题。在我的指令中,我必须使用scope.$parent.showMe = true
来更改父范围的showMe
,我似乎不能只使用scope.showMe = true
来设置它。我尝试使用隔离范围,没有范围,真正的范围,似乎没有任何效果。
此外,在 jquery 回调函数中,我似乎无法将父范围 showMe 重置为scope.$parent.showMe = false
. 这可以防止我在有内容时显示包含的 div,并在没有内容时隐藏它。
附带说明一下,最后一个问题是$last
. 在 plunkr 示例中,使用 $last 是可能的,但在我的真实代码中,ng-repeat 集合正在从 HTTP 响应拦截器中填充。这似乎阻止了 $last 被使用,因为所有元素都以$last = true
. 是否有另一种方法可以检测 ng-repeat 何时完成?