假设我有一个这样的数据对象:
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
键时更新,而在name
或other
更新时不会重新计算。目前,我能做的最好的事情是将观察者定义为_sumsOfVs(o.*)
:
_sumsOfVs = obj => obj.base.reduce((p,c) => p+c.v, 0)
谢谢!
答案 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