angular.js - angularjs中相同的方法,如何做到触发只对当前元素有效。
为情所困
为情所困 2017-05-15 17:04:52
0
2
568


大图里三个部分是从后台读取数据然后绑定用ng-repeat出来的,要实现的功能是点击各个部分最右边的小角标,当前部分能展开或者收起,但是由于ng-repeat,连方法名和ng-show='myVar'都是一样样的,会导致点任何一个角标整片收缩或展开;
这段代码是要ng-repeat的底代码,还未做修改成,

$scope.myVar=false;
$scope.toggle=function(){
    this.myVar=!this.myVar;
}
为情所困
为情所困

Antworte allen(2)
習慣沉默

我觉得你在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"就好了

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!