我似乎无法找到解决这个问题的最佳解决方案,因为我有一个api调用,这让我成为事实的对象......
facts: {
name: 'james',
age: 23,
address: '123 fake st'
}
我希望能够在我的应用程序中使用它,但我也希望能够更新单个属性,就像我按下一个按钮我希望能够更新该对象上的名称
所以就像我可以做这样的事情
storeFact() {
this.service.facts.name = 'nick'
}
然后对象将在服务中更新,看起来像这样..
facts: {
name: 'nick',
age: 23,
address: '123 fake st'
}
然后很明显我可以再次在我的应用中调用{{facts.name}}
,然后返回nick
但不仅仅是我希望能够添加新的键和值,所以我可以有一个按钮来执行此操作。
newFact() {
this.service.facts.hobbies = 'swimming';
}
我不完全确定这是如何工作的,如果我调用api并存储返回的结果,这是共享服务中的fact对象,我可以添加,获取和更改键值对吗?
如果我使用BehaviorSubject
上的经典observable
和.next()
路线,那么在我传入this.service.facts.name = 'nick'
任何帮助将不胜感激
由于
答案 0 :(得分:1)
它不是最优雅的解决方案,这是早期版本的角度,但应该仍然有效。您可以使用本地存储来存储变量并在整个应用中访问它。在你的情况下
this.facts = JSON.parse(localStorage.getItem('facts'));
this.facts.hobbies = 'swimming';
localStorage.setItem('facts', JSON.stringify(this.facts));