我正在阅读这段代码 https://coryrylan.com/blog/angular-observable-data-services
esp这行
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)
有什么想法吗?
答案 0 :(得分:0)
因为优良作法是仅向该组件公开组件所需的数据。
以下行导致_todos
主题仅发出Todos数据:
this._todos.next(Object.assign({}, this.dataStore).todos)
以下建议的代码将导致_todos
主题发出整个dataStore
:
this._todos.next(Object.assign({}, this.dataStore))