Aurelia 自定义属性上的可绑定装饰器可以锁定为单向还是一次性?

Aurelia 自定义属性上的可绑定装饰器可以锁定为单向还是一次性?,aurelia,Aurelia,我知道可以像这样用defaultBindingMode声明属性 @bindable({ defaultBindingMode: bindingMode.oneTime }) maxSize: number; 但是它可以被声明,这样它的用户就不能指定任何其他模式吗?这是不可能的,并且会违背奥雷利亚的“约定是伟大的,直到你需要覆盖它们”的精神。通过指定默认绑定模式,可以为组件指定约定 也就是说,您可以在自己的控件内强制执行一次性绑定,并有效地对控件的任何使用者强制执行一次性绑定 例如,在自定义属性

我知道可以像这样用defaultBindingMode声明属性

@bindable({ defaultBindingMode: bindingMode.oneTime }) maxSize: number;

但是它可以被声明,这样它的用户就不能指定任何其他模式吗?

这是不可能的,并且会违背奥雷利亚的“约定是伟大的,直到你需要覆盖它们”的精神。通过指定默认绑定模式,可以为组件指定约定

也就是说,您可以在自己的控件内强制执行一次性绑定,并有效地对控件的任何使用者强制执行一次性绑定


例如,在自定义属性中,执行希望属性在
bind
回调中执行的所有操作,并且不设置任何“已更改”的回调。或者在自定义元素中,对组件视图中的所有数据绑定使用
一次性
绑定命令。

我认为没有办法锁定绑定模式。。。但你为什么要这么做?这就是我最后要做的。在大约15个“绑定”中,只有3个是可观察的,所有其他的只是组件外观的设置,不可更改。所以我最后只挂了3次“更改”回调。