У меня есть массив, в котором есть некоторые объекты.Aurelia Наблюдать свойства в динамическом массиве объектов
this.mediaService.media.files = [
{ id: 1, progress: 15 },
{ id: 2, progress: 0 }
]
Как файл загружены изменения прогресса в этом внешних Js одноплодного класса, который содержит .files
. Мне нужно подписаться на этот массив и на свойство прогресса для каждого файла в массиве. Этот массив является динамическим, так как файлы добавляются. Мне нужно знать это и подписаться на них.
Вот что я имею в Aurelia:
bind() {
this.observerLocator
.getArrayObserver(this.mediaApi.media.files)
.subscribe(this.addSplicesObservations);
}
addSplicesObservations(splices) {
for (let i = 0; i < splices.length; i++) {
this.subscriptions.push(this.observerLocator
.getObserver(this.mediaApi.media.files[splices[i].index], 'progress')
.subscribe(this.onChange)
);
}
}
Я заметил, однако, что у меня нет доступа к this
внутри addSplicesObservations()
. Каков правильный способ сделать это в аурелии?
Возможно, вам будет полезно посмотреть на агрегатор событий. Это система обмена сообщениями для aurelia. Действительно классный материал, который вы могли бы подключить в своей ситуации. – James