Javascript Angularjs-按搜索值筛选对象,但不';如果搜索值在第二个对象中,则不忽略
因为我英语不好,写这个题目都有困难。 因此,在这里,我有两个通过colorid连接的对象:Javascript Angularjs-按搜索值筛选对象,但不';如果搜索值在第二个对象中,则不忽略,javascript,angularjs,Javascript,Angularjs,因为我英语不好,写这个题目都有困难。 因此,在这里,我有两个通过colorid连接的对象: $scope.fruits = {{name:"apple",colorid:"1"},etc}; $scope.colors = {{id:"1",value:"red"}; 我用ng repeat构建了一个很好的带有搜索和筛选的表 ng-repeat="fruit in fruits | orderBy:sortType:sortReverse | filter:search"
$scope.fruits = {{name:"apple",colorid:"1"},etc};
$scope.colors = {{id:"1",value:"red"};
我用ng repeat构建了一个很好的带有搜索和筛选的表
ng-repeat="fruit in fruits | orderBy:sortType:sortReverse | filter:search"
我想要达到的是。。。当我搜索/过滤“红色”时,仍然可以查看“苹果”
编辑:显然ng repeat与第二个对象“colors”没有联系,最简单的解决方案是迭代每个“水果”,并将其颜色值(红色)推到“水果”对象本身中,因此在搜索/过滤“红色”时,“apple”对象在搜索表中仍然可见。
但是我假设对于连接的表及其关系ID可能有一些“角度式”解决方案。如果我理解得很清楚,您正在尝试“连接”数组。因此,您可以使用嵌套的
ngRepeat
,如下所示:
(函数(){
“严格使用”;
有棱角的
.module('应用程序',[])
.controller('MainCtrl',MainCtrl);
MainCtrl.$inject=['$scope'];
函数MainCtrl($scope){
$scope.fruits=[
{
“名称”:“苹果”,
“colorid”:1
},
{
“名称”:“芒果”,
“colorid”:2
},
{
“名称”:“木瓜”,
“colorid”:3
}
];
$scope.colors=[
{
“id”:“1”,
“值”:“红色”
},
{
“id”:2,
“值”:“绿色”
},
{
“id”:3,
“值”:“黄色”
}
];
}
})();代码>
-
我看不出这与您的颜色
对象有什么关系,因为它没有在ng repeat
中使用。您可能应该使用更新您的问题以帮助演示您的问题。确切地说,我如何使用ng repeat中的颜色对象以及水果对象?@MatthewGreen现在您看到了吗?:)谢谢你的努力,但不是,我正在尝试做一个多重搜索过滤器,在这里找到了一些好的东西,如果你甚至没有嵌套的ngRepeat,你如何尝试执行多重搜索过滤器?搜索“红色”将从视图中删除“苹果”,因为它不包含“红色”,corect?我需要在colors对象中搜索苹果的colorid,如果颜色值包含“red”,则不过滤苹果。问题是,在考虑任何过滤器之前,您必须嵌套ngRepeat。好的,似乎工作正常,但我不希望芒果或木瓜出现在列表中,如果它们不包含“search..red”