gpt4 book ai didi

javascript - AngularJS 数组中的第一个过滤器之后

转载 作者:可可西里 更新时间:2023-11-01 01:25:01 24 4
gpt4 key购买 nike

在我的 Controller 中我可以调用:

$scope.games[0];

访问我的游戏数组中的第一项。有没有一种方法可以做到这一点,同时牢记过滤器。

例如我有:

filter:search

重复一遍,我如何调用 $scope.list[0];等于第一个搜索结果?

已回复,谢谢。我使用 AngluarJs 为 Lagged.com 构建了一个很酷的小部件,在这里玩免费在线游戏:https://lagged.com/

最佳答案

这可以通过将过滤器的依赖项注入(inject) Controller 并在代码中调用它来完成

var filteredArray = filterDependency(arrayToFilter,args);

返回一个新的过滤数组。由于您使用的是“filter”过滤器(它是一个名称为 filter 的过滤器),因此依赖注入(inject)应该是 filterFilter。您的 Controller 应如下所示:

var app = angular.module('myapp',[]);
app.controller('ctrlParent',function($scope,filterFilter){
var filteredArray = [];
$scope.list = ["abc","def","ghi","abcdefghi"];
$scope.$watch('search',function(newValue){
filteredArray = filterFilter($scope.list, newValue);
// do something with the first result
console.log(filteredArray[0]); // first result
});
});

我们正在做的是在输入模型(搜索)上设置一个监视,这样我们就可以在输入发生变化时获取新值并重新过滤数组。


还有:

如果您需要从 View 中访问 ng-repeat 索引,您可以在 ng-repeat< 中使用特殊属性 $index/ 像:

<div ng-repeat="item in list | filter:search">
{{$index}}
</div>

您还可以使用$first$middle$last as shown in this Angular doc .

演示:Here is a fiddle

关于javascript - AngularJS 数组中的第一个过滤器之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16867093/

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