사용자 지정 특성에 바인딩 된 개체 특정 속성의 변경 이벤트를 관찰하려고합니다. 나는 이것을 위해 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/을). 링크가 조금 구식이지만 아마 당신에게 어떤 힌트를 줄지 알 수 있습니다. –