gpt4 book ai didi

angularjs - Angular JS : Access data filtered in ng-repeat (ngRepeat) from controller

转载 作者:行者123 更新时间:2023-12-04 13:16:33 24 4
gpt4 key购买 nike

我需要从 Controller 访问已在模板(在ng-repeat内)中过滤的数据。

这就是我的意思:

我的模板中有此表:

 <table class="table">
<thead>
<th>Name</th>
<th>Gender</th>
</thead>
<tbody>
<tr ng-repeat="person in persons | filter:query">
<td>{{person.name}}</td>
<td>{{person.gender}}</td>
</tr>
</tbody>
</table>

然后我有一个 <select>,用于按性别过滤数据
<h1>Cluster:</h1>
<select ng-model="query.gender" >
<option value ="">ALL</option>
<option value ="male">Male</option>
<option value ="female">Female</option>
</select>

这样就可以了。

如果有人选择其中一个选项,我需要对过滤后的结果进行处理。
这就是为什么我的 Controller 中有一个$ watch来查找过滤器查询的更改的原因:
$scope.$watch('query.gender', function(newValue, oldValue) {
// Here is where I need to get filtered results
});

我的问题是:

如何从 Controller 访问FILTERED内容?

我最好这样,而不必在 Controller 中执行其他“过滤”操作...(由于数据已经被过滤,结果位于内存中的某个地方,对吗?)

最佳答案

我不确定,但是您可以在 Controller 中使用过滤器功能。因此,请尝试以下操作:

$scope.$watch('query.gender', function(newValue, oldValue) {
var x = $filter('filter')($scope.persons, $scope.query);
});

x应该包含与我认为的表中相同的过滤数据。在这里查看文档: http://docs.angularjs.org/api/ng.filter:filter了解更多信息。

关于angularjs - Angular JS : Access data filtered in ng-repeat (ngRepeat) from controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21499077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com