aurelia - computedFrom

aurelia - computedFrom

我有以下内容:

.ensure('baseContent.ValidFromDate', (config) => { config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) })
                        .if(() => {
                            return this.baseContent.ValidFromDate !== null && this.baseContent.ValidFromTime !== null && this.baseContent.ValidToDate !== null && this.baseContent.ValidToTime !== null })
                            .passes( () => { return this.datetimeformat.format(this.baseContent.ValidFromDate, this.baseContent.ValidFromTime) < this.datetimeformat.format(this.baseContent.ValidToDate, this.baseContent.ValidToTime) })
                            .withMessage('< Valid To')
                        .endIf()

我认为 config.computedFrom(['baseContent.ValidFromDate', 'baseContent.ValidFromTime', 'baseContent.ValidToDate', 'baseContent.ValidToTime']) - 意味着如果其中一个值发生变化,它将重新 运行 验证?然而,它只在 'baseContent.ValidFromDate' 上执行此操作,我缺少/不理解什么?

更新

问题似乎与 computedFrom 不支持路径有关,除了将此验证添加到四个项目之外,我真的不知道另一种解决方法

此功能是上周添加的 (aurelia-binding 1.0.0-beta.1.3.0)。参见 https://github.com/aurelia/binding/issues/149

用作装饰器时的语法是:

@computedFrom('obj.firstName', 'obj.lastName')