В привязке Aurelia, если в компоненте мы используем наблюдаемое оформление свойства, и если свойство является объектом, то мы подпишемся на все свойства этого объекта.
Например:
import { observable } from 'aurelia-framework';
export class Car {
@observable color = {rgb: '', hex: ''};
colorChanged(newValue, oldValue) {
// this will fire whenever the 'color' property changes
}
}
Таким образом, если одно из свойств цвета изменится, оно сработает colorChanged. Но в пользовательских элементах у нас есть вот такие привязки:
import {bindable, bindingMode} from 'aurelia-framework';
export class SecretMessageCustomElement {
@bindable data;
dataChanged () {
// -------
}
}
тогда dataChanged не будет вызываться при изменении его свойств. Как это решить?