我有以下HTML代码
<ul ng-repeat="friend in friends | filter: { age: '2' } | orderBy: 'name' ">
<li>{{friend.name}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这是我的$ scope变量
$scope.friends = [
{ name: "Peter", age: 2 },
{ name: "Pablo", age: 55 },
{ name: "Linda", age: 20 },
{ name: "Marta", age: 37 },
{ name: "Othello", age: 20 },
{ name: "Markus", age: 32 }
];
Run Code Online (Sandbox Code Playgroud)
它回来了
Linda
Markus
Othello
Peter
Run Code Online (Sandbox Code Playgroud)
如何在ng过滤器中进行比较,以及如何让我的朋友只有2岁
Peter
Run Code Online (Sandbox Code Playgroud) 在Angular中,有没有办法修改过滤器,使其只返回完全匹配?
例:
var words = [
{ title: "ball" },
{ title: "wall" },
{ title: "all" },
{ title: "alloy" }
];
var wordsFiltered = filter('filter')
(
words,
{
'title': 'all'
}
);
Run Code Online (Sandbox Code Playgroud)
以上将匹配'球','墙','所有'和'合金'.但我希望它只匹配'全部'.有什么方法可以改变吗?
我有这样的指令
ng-repeat="place in tb_places | filter:{'id':inputID}"
Run Code Online (Sandbox Code Playgroud)
输出一些对象数组看起来像这样
$scope.tb_places = [
{name: 'some1', id:1}
...
{name: 'some10', id:10}
{name: 'some11', id:11}
{name: 'some12', id:12}
...
]
Run Code Online (Sandbox Code Playgroud)
当我更改inputID并将其设置为1时,结果数组将填充源数组的元素,其中'ids'为1和10,11,12.因此,'id'值的部分被检查为子串,而不是数字.我该怎样治愈它?
谢谢!
UPD我试图在过滤器表达式中添加":true" - 它完全清除输出(结果数组),它适用于一个简单的字符串数组,但不适用于对象("true"想要与模式对象完全匹配,这意味着及其所有属性)
解决了!!!
对不起伙计们,我的错!'inputID'与'id'(string vs int)的类型不同,因此内置比较器(":true")返回false.非常感谢!
抱歉,我不能为你投票答案 - 缺乏声誉......见到你!
我正在按照这个问题过滤一个字段的ng-repeat
但是我的情况不同,它实际上是主对象的对象值中的一个字段.基本上我只想展示data.a == 1
以下代码适用于第一个列表.第二个列表给我错误:
angular.module('myapp', [])
.controller('mainCtrl', function ($scope) {
$scope.items = [{
name: "John",
data: {
a: 1
}
}, {
name: "Lee",
data: {
a: 2
}
}, {
name: "Rue",
data: {
a: 3
}
}, {
name: "Peter",
data: {
a: 1
}
}];
});
Run Code Online (Sandbox Code Playgroud)
HTML
<div ng-controller="mainCtrl">
<h1>List 1</h1>
<p ng-repeat="item in items">{{ item.name }}</p>
<h1>List 2</h1>
<p ng-repeat="item in items | filter: {data.a :1}">{{ item.name }}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
http://plnkr.co/edit/nh4GryqZJbEiXSzMzTKk
有关如何做到这一点的任何帮助还是有更好的方法?
更新1
我尝试过 …