2
因此,让我们假设我的课是这样的:Aurelia - 对于由computedFrom装饰器引用的嵌套数组,没有ModifyCollectionObserver?
import { computedFrom } from 'aurelia-framework';
export class Test {
myObj;
@computedFrom('myObj.myArray')
get someProperty() {
debugger;
return JSON.stringify(this.myObj ? this.myObj.myArray : this.myObj);
}
attached() {
this.myObj = {
myArray: []
};
setTimeout(() => this.myObj.myArray.push('foo'), 500);
}
}
和我的HTML就是:
<template>
<h3>myArray value: ${someProperty}</h3>
</template>
我有哪里someProperty
当我把一个元素没有被更新的问题myObj.myArray
。我使用someProperty
获取器中的调试器对此进行了验证。当this.myObj
最初在attached
集和someProperty
吸气随后被调用时,我看到myObj
是this.__observers__
一个SetterObserver
。
但是,我没有看到任何ModifyCollectionObserver
为myArray
在this.myObj.__observers__
(事实上,即__observers__
属性不存在)。我期望在数组中会有某种观察者,因为它在我的computedFrom
装饰器中被指定为依赖项。
是否'@computedFrom( 'myObj.myArray.length')'工作? –
@AshleyGrant这确实有用,谢谢!如果您将其作为答案离开,我会接受它。但是,我希望能做到这一点的方式不那么简单。 –
呀,不使用代理服务器,没有,我所知道的,不幸的是少哈克的方式。 –