通过id数组过滤角度数据
Filter angular data by array of ids
我有一个json文件包含我的数据
[{"id":"349","title":"event 1"},{"id":"350","title":"event 2"},{"id":"351","title":"event 3"}]
用户可以将事件保存到本地存储并保存在数组中
$storage.myEvents = ["349","350"]
用;
显示页面上的所有事件<ion-item class="item-icon-right item-brown" ui-sref="detail({id: event.id})" ng-repeat="event in events track by event.id ">
<h2 class="positive"><b>{{event.title}}</b></h2>
</ion-item>
我想只显示用户在$storage.myEvents
中存储的事件,但是我的过滤器不起作用
<ion-item class="item-icon-right item-brown" ui-sref="detail({id: event.id})"
ng-repeat="event in events track by $index | filter: {id: $storage.myEvents }">
给出错误Error: filter:notarray Expected array but received: 0
,如果我查询本地存储,我得到
localStorage["ngStorage-myEvents"]
"["349","350"]"
如果我把滤镜改成
filter: {id: JSON.parse($storage.myEvents)}
我仍然得到相同的错误…
我该如何解决这个问题?
可以使用自定义过滤器
$scope.myFilter = function (e) {
var s = $scope.$storage.myEvents;
if (s.indexOf(e.id) != -1) return true;
return false;
}
<ion-item class="item-icon-right item-brown" ui-sref="detail({id: event.id})"
ng-repeat="event in events | filter: myFilter track by $index">
这是中继器
event in events track by event.id
似乎有相同事件的事件。
相关文章:
- 过滤AngularJs中的数据
- 通过API调用过滤数据
- 如何在D3.js中绘制地图投影上的点,并使用范围滑块过滤数据
- 如何用javascript过滤JSON数据
- 如何使用javascript、jquery或其他javascript框架过滤数据
- 在解析时使用变量过滤数据
- 停止 jQuery 自动完成以过滤/搜索结果并填充整个源数组数据
- 过滤包含一些文本的 PHP 数据表
- 如何使用 AngularJs 过滤 JSON 数据
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- 如何用使用剔除数据和“数据”两者计算的数据来过滤数据;外部“;数据
- 当我想对redux容器中的数据进行排序或过滤时,我该如何查看它的状态
- d3在鼠标悬停上过滤数据之后从选择中提取值
- 使用AngularJS过滤JSON数据
- AJAX 数据过滤不起作用
- 使用 Firebase 数据过滤 ng 重复
- Ember数据-过滤hasMany关系的对象
- 我如何处理数据过滤上的一个按钮点击D3.js
- Div类搜索使用数据过滤属性
- Javascript -数据过滤和删除换行符