Невозможно понять этот код, включающий BehaviorSubject и Observables - PullRequest
0 голосов
/ 10 апреля 2019

Я читаю этот кусок кода https://coryrylan.com/blog/angular-observable-data-services

особенно эту строку

this._todos.next(Object.assign({}, this.dataStore).todos);

Что я не понимаю, так это почему после вызова Object.assign ({},this.dataStore), который копирует содержимое хранилища данных в новый объект, почему бы просто не сделать

this._todos.next(Object.assign({}, this.dataStore))
instead of
this._todos.next(Object.assign({}, this.dataStore).todos)

Любые идеи?

1 Ответ

0 голосов
/ 10 апреля 2019

Поскольку эффективная практика заключается в предоставлении только тех данных, которые требуются компоненту для этого компонента.

Следующая строка приводит к тому, что _todos Subject отправляет только данные Todos:

this._todos.next(Object.assign({}, this.dataStore).todos)

Приведенный ниже код, который вы предлагаете, приведет к тому, что объект _todos будет излучать все dataStore:

this._todos.next(Object.assign({}, this.dataStore))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...