사용자가 레코드를 클릭하고 필터가 같은 리피터 내에 하나의 레코드 만 표시하도록하는 각도 필터를 만들려고합니다.사용자가 반복을 클릭 할 때 각도 필터가 발생합니다.
예를 들어 사람이 성 "나이트"를 검색하면 몇 가지 결과가 표시됩니다. 그런 다음 사용자가 원하는 특정 레코드를 클릭하면 리피터에 표시된 하나의 레코드 만 표시됩니다.
<md-list-item class="md-3-line" ng-repeat="value in ctrl.results" ng-click="ctrl.showRecord(value)">
<div class="md-list-item-text" layout="column">
<h4>Employee Id: <b>{{ value.employeeId }}</b></h4>
<h4>NetId: <b>{{ value.netId }}</b></h4>
<p>Name: {{ value.preferredFirstName }} {{ value.preferredLastName }}</p>
</div>
</md-list-item>
을하고이 기능에서 내 컨트롤러에 선택한 레코드를 전달 : 나는 필터의 예제 걸쳐 보았다
vm.showRecord = function (selectedRecord, ev) {
//need my filter here
};
, 하지만 필터를 사용자가 클릭 한 것과 동일한 반복으로 업데이트하는 방법을 알 수는 없습니다.
** 편집은 여기에 대답, 톰 첸의 작품 ** 구문으로 컨트롤러와 함께이 일을 사람들을위한
에 따라 답을 표시합니다. HTML :
이<md-list-item class="md-3-line" ng-repeat="value in ctrl.results | filter:ctrl.selectedId" ng-click="ctrl.showRecord(value.employeeId)">
<div class="md-list-item-text" layout="column">
<h4>Employee Id: <b>{{ value.employeeId }}</b></h4>
<h4>NetId: <b>{{ value.netId }}</b></h4>
<p>Name: {{ value.preferredFirstName }} {{ value.preferredLastName }}</p>
</div>
</md-list-item>
컨트롤러 :
vm.showRecord = function (selectedRecord) {
vm.selectedId = selectedRecord;
};
의 예입니다 나는 당신의 답변을 얻을 수 없었다 그래서 나는 다른 대답과 함께 갔다. –
플 런커에 작업 예제를 추가했습니다. –
필터를 원한다고 지정 했으므로 답변을 표시했습니다. –