84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
大圖里三個部分是從後台讀取資料然後綁定用ng-repeat出來的,要實現的功能是點擊各個部分最右邊的小角標,當前部分能展開或者收起,但是由於ng-repeat,連方法名稱和ng-show='myVar'都是一樣樣的,會導致點任何一個角標整片收縮或展開;這段程式碼是要ng-repeat的底程式碼,還未做修改成,
$scope.myVar=false; $scope.toggle=function(){ this.myVar=!this.myVar; }
我覺得你在ng-repeat的時候,加上track by $index,並將$index傳入toggle()。宣告一個myVar數組,長度跟你需要repeat的長度相同,數組的值都設為true,使用ng-if="myVar[$index]"剛開始都顯示。 在點擊展開收縮按鈕時toggle($index),將數組中對應位置的值取反就行了。
因為你還沒用ng-repeat,所以不行,換成ng-repeat就沒問題了另外,你不用寫一個toggle,直接ng-click="myVar=!myVar"就好了
我覺得你在ng-repeat的時候,加上track by $index,並將$index傳入toggle()。宣告一個myVar數組,長度跟你需要repeat的長度相同,數組的值都設為true,使用ng-if="myVar[$index]"剛開始都顯示。
在點擊展開收縮按鈕時toggle($index),將數組中對應位置的值取反就行了。
因為你還沒用ng-repeat,所以不行,換成ng-repeat就沒問題了
另外,你不用寫一個toggle,直接ng-click="myVar=!myVar"就好了