ng-repeat를 사용하여 내 기록을 다음과 같이 표시합니다.
<ul ng-repeat= 'stu in students'>
<li>{{stu.name}}</li>
<li>{{stu.age}}</li>
<li><button ng-click="show()">show</button></li>
<li ng-show="showThis">Hello {{stu.name}}</li>
</ul>
내 컨트롤러에서 :
$scope.show = function () {
$scope.showThis = true ;
};
그래서 쇼 버튼을 클릭하면 모든 학생의 이름이 표시되지만 선택된 학생은 한 명만 표시하고 싶습니다. 이 범위를 선택한 레코드로만 바인딩하는 방법은 무엇입니까?
접근 방식 1. 각 반복 ngRepeat
에서 새 자식 범위를 만듭니다. this
해당 컨트롤러 방식에서 키워드로 현재를 참조 할 수 있습니다 . 예를 들면 :
$scope.show = function() {
this.showThis = true;
};
그리고 그것은 속임수를 만들 것입니다.
데모 : http://plnkr.co/edit/857DsN6EYI21sEvn15Ul?p=preview
접근 방식 2. 현재 학생 참조를 show
메소드에 전달 하고 showThis
속성을 설정 합니다.
<ul ng-repeat='stu in students'>
<li>{{stu.name}}</li>
<li>{{stu.age}}</li>
<li>
<button ng-click="show(stu)">show</button>
</li>
<li ng-show="stu.showThis">Hello {{stu.name}}</li>
</ul>
그리고 컨트롤러에서 :
$scope.show = function(student) {
student.showThis = true;
};
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다