Polymer 1.0通配符绑定数组中的嵌套子属性

时间:2016-10-28 18:34:06

标签: data-binding polymer polymer-1.0 observers computed-properties

假设我有一个这样的数据对象:

const o = [
  {name: "A", v: 1, other: 0},
  {name: "B", v: 7, other: 0},
  {name: "C", v: 8, other: 0},
  {name: "D", v: 1, other: 1},
]

我希望能够定义一个嵌套的观察者,如:

_sumOfVs(o.*.v)

这样,观察者只会在编辑对象中的v键时更新,而在nameother更新时不会重新计算。目前,我能做的最好的事情是将观察者定义为_sumsOfVs(o.*)

_sumsOfVs = obj => obj.base.reduce((p,c) => p+c.v, 0)

谢谢!

1 个答案:

答案 0 :(得分:1)

看起来没有办法只观察通配符(SELECT ename FROM employees WHERE eid IN ( SELECT certified.eid FROM certified JOIN aircraft ON aircraft.aid = certified.aid GROUP BY certified.eid HAVING COUNT(*) > 3 ) )之外的特定子属性,但是你可以在通配符观察者(o.*.v)中检查更改记录的路径,过滤输出不需要的路径,以便观察者在变更记录不适用于o.*时提前退出。

.v

codepen