У меня есть объект модели, представляющий «игроков» в БД. в его реализации есть массив игроков, с которыми я хотел бы привязываться от разных виртуальных машин в своем приложении. например:Собственность и коллекция наблюдателя в Aurelia не поднимает свойствоChanged событие
import {Players} from './models/players';
import {inject, BindingEngine} from 'aurelia-framework';
@inject(Players,BindingEngine)
export class App {
constructor(playersProvider,bindingEngine) {
this._playersProvider = playersProvider;
this._bindingEngine = bindingEngine;
this._subscription = this._bindingEngine.propertyObserver(this,this._playersCount)
.subscribe(this.objectValueChanged);
}
async activate() {
await this._playersProvider.initialize();
this._playersCount = this._playersProvider.players.length;
}
objectValueChanged(newVal,oldVal) {
console.log("new : " + newVal + ", old val : " + oldVal);
}
deactivate() {
this._subscription.dispose();
}
}
, к сожалению, при внесении изменений в массив игроков (из других частей в приложении) изменение не отражается в _playersCount собственности. например - Метка UI, связанная с этим свойством, не обновляется, а objectValueChanged никогда не вызывается.
U имеет ту же самую проблему в другой виртуальной машине с сервером collectionObserver в том же массиве.
любая помощь?
Синтаксис: this._bindingEngine.propertyObserver (this, '_playersCount') ' –