我想觀察綁定到自定義屬性的對象特定屬性的更改事件。我爲此使用bindable
標籤。Aurelia:如何觀察綁定對象的特定屬性(自定義屬性)
目的
var information = {
name: 'foo',
description: 'bar',
age: 12
};
元件
<div my="info: information;"></div>
屬性
@customAttribute('my')
export class MyCustomAttribute {
@bindable({
changeHandler: 'change'
})
public info: any;
private change(): void {
console.log('info has changed')
}
}
以上示例僅觸發該更改處理一次。但每當info
對象上的其中一個屬性發生更改時,我都需要它進行觸發。在我的用例中,哪些屬性更改無關緊要,我只需要知道屬性何時更改。
任何想法如何?
FYI =>另一種方法是在視圖模型上創建一個單獨的屬性(並在其上使用可綁定標籤)而不是使用該對象,但我寧願不這樣做,因爲它會使屬性的管道乏味的HTML(因爲屬性的數量)。
您可能正在尋找定製的觀察員(如https://ilikekillnerds.com/2015/10/observing-objects-and-arrays-in-aurelia/)。該鏈接有點過時了,但也許它會給你一些提示尋找什麼。 –