尝试以角度过滤数组时遇到问题。我正在使用打字稿。
我有一个包含指令的父页面。该指令具有一个项目数组的属性,它显示在数据表中。
在父页面上,我想过滤传递给指令的列表。我是这样做的....
<table items="vm.items"></table>
在我的父控制器中,我有一个按钮,按下它时会执行以下功能:
applyFilters() {
var filteredItems=[];
this.items.forEach((value, key) => {
if (value.item!== 'test') {
this.filteredItems.push(value);
}
});
console.log(this.filteredItems);
this.items = this.filteredItems;
}
但是当我更新过滤器时,指令中的值不会更新?
我在这里做错了什么?
答案 0 :(得分:1)
下面:
if (value.item!== 'test') {
this.filteredItems.push(value);
}
变量filteredItems
是通过var filteredItems = [];
定义的,而您通过this.filteredItems
进行分配。只需使用:
filteredItems.push(value);
...
this.items = filteredItems;