我知道,一个可以这样可以将自定义属性上的可绑定装饰器锁定为只有一个或一个时间吗?
@bindable({ defaultBindingMode: bindingMode.oneTime }) maxSize: number;
与defaultBindingMode声明属性但它可以被声明,使得其用户不能指定任何其他方式?
我知道,一个可以这样可以将自定义属性上的可绑定装饰器锁定为只有一个或一个时间吗?
@bindable({ defaultBindingMode: bindingMode.oneTime }) maxSize: number;
与defaultBindingMode声明属性但它可以被声明,使得其用户不能指定任何其他方式?
这是不可能的,并会违背“公约是伟大的,直到你需要重写它们”Aurelia的精神。您正在通过指定默认绑定模式为组件指定约定。这就是说,你可以强制在你自己的控制内进行一次性绑定,并有效地强制对你的控件的任何使用者进行一次性绑定。
例如,在自定义属性中,执行bind
回调中您希望属性执行的所有操作,并且不要设置任何“更改”回调。或者在自定义元素中,对组件视图中的所有数据绑定使用one-time
绑定命令。
这就是我最终做的。在大约15个“绑定”中,只有3个是可观察的,所有其他都只是设置,就组件的外观而言并不可变。所以我最终只在3个“改变”的回调中挂钩。 – epitka
我不认为有办法锁定绑定模式......但为什么你会想要这样做? –