Javascript 存储可在app angular 5中随时更新的对象
我似乎找不出最好的解决方案,比如说我有一个api调用,可以让我得到这样一个事实对象Javascript 存储可在app angular 5中随时更新的对象,javascript,angular,typescript,web,Javascript,Angular,Typescript,Web,我似乎找不出最好的解决方案,比如说我有一个api调用,可以让我得到这样一个事实对象 facts: { name: 'james', age: 23, address: '123 fake st' } 我希望能够在我的应用程序中使用它,但我也希望能够更新单个属性,比如,如果我按下一个按钮,我希望能够更新该对象上的名称 所以我可以做这样的事情 storeFact() { this.service.facts.name = 'nick' } 然后对象将在服务中更新,如
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并将返回的结果(事实对象)存储在共享服务中,我可以添加、获取和更改键值对吗
如果我在上使用经典的行为主体
和可观察的
路径,那么当我通过this.service.facts.name='nick'
时,它不会破坏当前对象
任何帮助都将不胜感激
谢谢这不是最优雅的解决方案,这是angular的早期版本,但应该仍然有效。您可以使用本地存储来存储变量并通过应用程序访问它。就你而言
this.facts = JSON.parse(localStorage.getItem('facts'));
this.facts.hobbies = 'swimming';
localStorage.setItem('facts', JSON.stringify(this.facts));
可能重复的