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


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

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

모든 응답(2)
習慣沉默

ng-repeat시 $index로 track을 추가하고, $index를toggle()에 전달하면 될 것 같습니다. 반복하려는 길이와 동일한 길이의 myVar 배열을 선언하고 배열의 값을 true로 설정하고 ng-if="myVar[$index]"를 사용하여 처음에 표시합니다.
확장 및 축소 버튼을 클릭하면 토글($index)은 배열에서 해당 위치의 값만 반전시킵니다.

仅有的幸福

아직 ng-repeat를 안 써보셨기 때문에 ng-repeat로 바꾸시면 괜찮을 겁니다.
그리고 토글도 쓸 필요 없이 ng-클릭만 하면 됩니다. ="myVar=!myVar"

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!