Я читаю этот кусок кода 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)
Есть идеи ?
Потому что рекомендуется предоставлять этому компоненту только те данные, которые требуются компоненту.
Следующая строка заставляет _todos
Subject выдавать только данные Todos:
this._todos.next(Object.assign({}, this.dataStore).todos)
Приведенный ниже код, который вы предлагаете, заставит тему _todos
излучать весь dataStore
:
this._todos.next(Object.assign({}, this.dataStore))