使用数组

时间:2015-08-14 05:37:13

标签: aurelia aurelia-binding

我对Value Converters有一个问题,我有一个数组w / c过滤器非活动项目,当我编辑项目并将状态属性更改为' INACTV'时,表格不会更改。但是当在数组中添加/删除项目时,它会刷新,我的解决方法是创建一个绑定的_signal属性来强制过滤,有没有办法不这样做?

< tr repeat.for =" ARRAY |的项目filtercustom:' STATUS_CD':' INACTV':_信号" >

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解过滤器应该如何工作。但如果它应该隐藏不活动的项目,也许你可以做类似的事情

<tr repeat.for="item of ARRAY" if.bind="!item.STATUS_CD='INACTV'">

我不知道是否可以将值转换器放在&#34; repeat.for&#34;中。看起来很奇怪。

我希望这有助于推动你朝着正确的方向前进。

答案 1 :(得分:0)

不,目前没有直接,干净的方法来做到这一点。 Repeat.for使用CollectionObserver进行数组观察,只响应pop / push / reverse / shift / sort / splice / unshift。

只有当在阵列上调用其中一个方法时,观察者才会触发,阵列再次被送到ValueConverter

您的信号解决方案尽可能干净。它比在数组中每个项目的STATUS_CD属性上的手动实例化属性观察器刷新整个数组的替代方法更有效。 这是我在某些类似情况下所做的,因为我不喜欢使用信号。但这只是一个偏好问题。