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"就好了