【发布时间】:2016-08-19 13:40:45
【问题描述】:
我正在尝试创建一个 Angular 过滤器,它允许用户单击记录并让过滤器在同一个中继器中只显示一条记录。
例如,当一个人搜索姓氏“knight”时,他们会看到一些结果。然后,当用户点击他们想要的特定记录时,他们应该只看到一条记录显示在转发器中。
<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
};
我查看了一些关于过滤器的示例,但我不太了解如何使过滤器更新与用户单击的重复相同。
** 根据 Tom Chen 的工作编辑以显示答案**
对于任何使用控制器作为语法的人,这里就是答案。 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;
};
【问题讨论】:
标签: angularjs