Угловая подписка на изменения свойств объекта - PullRequest
0 голосов
/ 28 мая 2018

У меня есть служба, которая содержит некоторые данные:

@Injectable()
export class DataService {
  data = {
    a: [
      {label: 'label 1', checked: true},
      {label: 'label 2', checked: true},
      {label: 'label 3', checked: true}
    ]
  }
}

и компонент, который импортирует службу и использует данные из data.a для создания флажков (со свойством checked, указывающим начальное состояние каждогофлажок).После того, как пользователь устанавливает и снимает флажки, значения в DataService автоматически обновляются на angular.

Существует еще одна служба StorageService, которая также внедряет DataService и должна автоматически сохранять data.a в локальном хранилище браузеракаждый раз, когда свойство checked изменяется.Что я не могу понять, так это как наблюдать за изменениями отдельных свойств объекта, которые так глубоко вложены?

1 Ответ

0 голосов
/ 28 мая 2018

a это какой-то массив чего-то?Массив, интерфейс?

В вашем сервисе StorageService вы можете получить доступ к данным через

constructor(private _dataService : DataService  ){}

console.log(this._dataService.data.a[0].label);

Опубликуйте больше кода, если это не работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...