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