阵列中的对象更改检测
问题描述:
我需要手动(或自动)更改阵列中对象的检测属性。我在ngFor循环中有一系列productShops实体,它被“isNotDeleted”属性过滤。当我更改isNotDeleted属性的值时,角度不会检测到更改。阵列中的对象更改检测
<ul class="nav nav-tabs">
<li *ngFor="let productShop of product.productShops | filter:'isNotDeleted':true" >
<a href="#categoryAssocTab{{productShop.shop.id}}" data-toggle="tab">{{productShop.shop.name}}</a>
</li>
</ul>
编辑:管道实现:
import {Pipe, PipeTransform} from "@angular/core";
@Pipe({
name: 'filter'
})
export class FilterPipe implements PipeTransform{
transform(value:Array<any>, property, equal){
let properties = property.split('.')
if(value){
return value.filter(item => {
let finalValue:any = item
properties.forEach(p => {
finalValue = finalValue[p]
})
return finalValue == equal
})
}
return []
}
}
答
你管应标记为不纯正,因为虽然输入并没有改变其对于给定的输入转换的结果甚至可以改变。
@Pipe({
name: 'filter',
pure: false
})
也
见请将您管道实现 – yurzui
新增实施管道过滤器的。 – JaSHin
你如何改变属性? – yurzui