在Aurelia中多次调用Computed属性

在Aurelia中多次调用Computed属性,aurelia,Aurelia,我有一个依赖于a和B的计算属性: @computedFrom(A, B) get property() { } 该属性用于具有重复的元素。对于(共5个元素): …property()也被调用了6次 它应该是这样工作的吗?如果您有repeat.for,则会为呈现的每个子元素调用其中任何绑定的源属性。这是正常的行为,因为它们都是单独的绑定实例 如果绑定源发生更改,则需要更新所有绑定目标(在本例中为6),这可以通过调用source属性来实现。计算绑定往往是如此简单的计算,因此这通常不是一个问题

我有一个依赖于a和B的计算属性:

@computedFrom(A, B)
   get property() {
}
该属性用于具有
重复的元素。对于
(共5个元素):

property()
也被调用了6次


它应该是这样工作的吗?

如果您有repeat.for,则会为呈现的每个子元素调用其中任何绑定的源属性。这是正常的行为,因为它们都是单独的绑定实例

如果绑定源发生更改,则需要更新所有绑定目标(在本例中为6),这可以通过调用source属性来实现。计算绑定往往是如此简单的计算,因此这通常不是一个问题

如果您的计算绑定在计算上是昂贵的,那么您可能需要考虑使用依赖属性的属性观察符,并在其中任何一个更改时简单地设置计算属性,而不是让绑定引擎将其称为绑定。 编辑

澄清一下:这与
computedFrom
没有任何关系。非计算属性也会被读取6次,但没有用于钩住调试器的getter,因此您无法直接看到它

<element repeat.for 1 to 5 elementProperty=$"{property}">
</element>
<template repeat.for 1 to 5>
    <element elementProperty=$"{property}"></element>
</template>