我一直在試圖影響父範圍中的變量來切換指令內的ng-show。該指令是包含ng-repeat指令的自定義指令。這個想法是,一旦ng-repeat結束,我想隱藏包含div的元素以及其中的元素。AngularJS指令綁定
這裏有一個Plunkr證明我的情況:http://beta.plnkr.co/edit/C42Z25?p=preview 而且,這裏的中的jsfiddle比較,它使用了同樣的問題,但它不是一個NG重複,所以它的工作原理: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何時完成?
我可以幫助設置父值。我在指令中有相同的問題設置值。 http://stackoverflow.com/questions/16494457/how-to-set-an-interpolated-value-in-angluar-directive – Anton 2013-05-15 04:00:11