所以我正在写这个Aurelia应用程序,有一件事让我很烦。假设我有一个定义如下的自定义组件:
export class CustomComponent {
@bindable callbackForSomething;
@bindable anotherCallback;
}
现在,我有几个案例需要在我的组件上绑定更多函数(或其他任何东西)。所以在每个组件中我都有这样的代码:
callbackForSomethingChanged() {
this._tryRunComponent();
}
anotherCallbackChanged() {
this._tryRunComponent();
}
_tryRunComponent() {
if (!this.callbackForSomething || !this.anotherCallback) {
return;
}
// run some logic here when I know the component is ready
}
AureliaJS有什么能让这更容易吗?只有两个属性令人讨厌,但我有组件声明了更多的属性。
答案 0 :(得分:4)
向您的视图模型添加bind
方法。一旦分配了所有可绑定属性,它将由Aurelia调用。
对可绑定属性的后续更改将触发您的*Changed
方法。