我有一个问题,我无法编辑页面的实际脚本。这意味着我不能添加AngularJS过滤器、指令等。我很有限,所以我只能编辑HTML。
myArray.filter(x => x.Type == selectedType)
然而,AngularJS抛出了一个错误,因为它也不允许我使用
.filter(function(){})
或
.filter(x => x)
. 起初我认为这是lambda的问题,因为AngularJS可能不支持这一点,但事实证明,基本上不可能根据数组的属性过滤数组。
这是我最初的目标:
[{
"id": "random",
"type": "1",
"name": "First tag"
},
{
"id": "random-2",
"type": "1",
"name": "Second tag"
},
{
"id": "random-3",
"type": "2",
"name": "Third tag"
}]
如果我这样做了
.filter(x => x.type = "2")
,我应该可以取回此列表:
[{
"id": "random-3",
"type": "2",
"name": "Third tag"
}]
看看这个小玩意儿:
https://embed.plnkr.co/yudKIhsB2OQ9Phh0X1am
HTML中的“过滤标记”应显示基于此条件的过滤标记(在正常JavaScript语言中工作):
ng-change="vm.FilteredTags = vm.Tags.filter(x => x.type == vm.SelectedValue)"