ng angularjs中的重复过滤器数据不起作用
ng-repeat filter data in angularjs not working
我有一个数据设置,看起来像这个
$scope.friends = [
{
name: function() {
return 'steve';
},
number: function() {
return 555;
}
},
{
name: function() {
return 'mary';
},
number: function() {
return 555;
}
},
{
name: function() {
return 'jo';
},
number: function() {
return 888;
}
}
]
现在我想要的是根据文本输入过滤ng-repeat
上的数据。为了实现这一点,我试过这样做:
<table id="searchTextResults">
<tr><th>Name</th><th>Phone</th></tr>
<tr ng-repeat="friend in friends | filter:search">
<td>{{friend.name}}</td>
<td>{{friend.number}}</td>
</tr>
</table>
其中输入的定义类似于<input type="text" ng-model="search.name"/>
。但是过滤器不起作用。我试着来看看我是否修改了像这个这样的数据结构
$scope.friends = [
{
name:'steve',
number: 555
},
{
name:'marry',
number: 555
},
{
name:'steve',
number: 888
}
]
那么只有这一点有效。然而,我想保持我的数据结构原样。
有人能帮助我如何过滤具有上述数据结构的数据吗。
plnkr示例
您可以修改friends
数据以满足此要求。我所做的是使用angular.forEach()
函数来修改数据,并将其放入一个名为$scope.modifiedFriends
的新数组中。
$scope.modifiedFriends = [];
angular.forEach($scope.friends, function(friend) {
$scope.modifiedFriends.push({
name: friend.name(),
number: friend.number()
});
});
代替friends
的ng重复,而是modifiedFriends
的ng重复。
<tr ng-repeat="friend in modifiedFriends | filter:search">
<td>{{friend.name}}</td>
<td>{{friend.number}}</td>
</tr>
工作Plunker
相关文章:
- 如何“;过滤器”;或者以其他方式重构该数据
- AngularJs orderby 过滤器无法正确排序数据
- AngularJS过滤器不适用于我的数据:关联数组
- 角度ng重复显示应用过滤器之前的数据
- Rally App SDK 2.0rc1-为什么我的组合框只在第一次点击时忽略数据存储过滤器
- AngularJS自定义过滤器调用了两次,并在第二次调用时删除输入数据
- 淘汰过滤器json数据
- PHP-AJAX复选框过滤器使用数据标记属性
- 获取分组数据角度过滤器的总和
- EXT JS : 数据存储过滤器功能不起作用
- 在应用过滤器之前,我需要隐藏所有过滤器容器数据
- 数据过滤器页面加载
- Angularjs d3 自定义指令,带有数据过滤器
- 角度:搜索器(过滤器)根据数据类型工作不同
- 角度数据资源上的子字符串过滤器
- 角度:在包含外部数据的ng重复上搜索过滤器
- 过滤器 AngularJS REST JSON 数据:错误:badcfg 响应与配置的参数不匹配
- free-jqgrid:保存、加载和应用过滤器数据的更简单方法,包括过滤器工具栏文本和页面设置
- JavaScript 数据表过滤器选项不起作用
- ng angularjs中的重复过滤器数据不起作用