gpt4 book ai didi

javascript - 如何在angularJS中过滤多个值(或操作)

转载 作者:IT王子 更新时间:2023-10-29 02:37:55 25 4
gpt4 key购买 nike

我想在 Angular 中使用 filter 并想过滤多个值,如果它有任何一个值,那么它应该被显示。

例如我有这个结构:

一个对象 movie 具有 genres 属性,我想过滤 ActionComedy

我知道我可以执行 filter:({genres: 'Action'} || {genres: 'Comedy'}),但如果我想动态过滤该怎么做。例如。 过滤器:变量X

当我有一个必须过滤的流派数组时,如何在 $scope 中设置 variableX

我可以将它构建为字符串,然后执行 eval() 但我不想使用 eval()...

最佳答案

我只想创建一个自定义过滤器。它们并没有那么难。

angular.module('myFilters', []).
filter('bygenre', function() {
return function(movies,genres) {
var out = [];
// Filter logic here, adding matches to the out var.
return out;
}
});

模板:

<h1>Movies</h1>

<div ng-init="movies = [
{title:'Man on the Moon', genre:'action'},
{title:'Meet the Robinsons', genre:'family'},
{title:'Sphere', genre:'action'}
];" />
<input type="checkbox" ng-model="genrefilters.action" />Action
<br />
<input type="checkbox" ng-model="genrefilters.family" />Family
<br />{{genrefilters.action}}::{{genrefilters.family}}
<ul>
<li ng-repeat="movie in movies | bygenre:genrefilters">{{movie.title}}: {{movie.genre}}</li>
</ul>

编辑 这里是链接:Creating Angular Filters

更新:这是一个fiddle有我的建议的确切演示。

关于javascript - 如何在angularJS中过滤多个值(或操作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868248/

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