0
我将解释我(可能小)的问题:)Angular2本地存储主题()
我试图使该设置的localStorage,并得到一些数据(对象的数组)。 我有一个组件在我的本地存储阵列中添加对象,另一个组件则获取这些数据。
我在ionic2标签的应用程序,当我把我的本地存储,我的另一种观点,我得到这个它没有更新......
我想我必须使用RxJs主题,但我不不知道这是如何做到这一点。
对我当前的代码看看
// LocalStorageService.ts
export class LocalStorageService {
public bookmarks: Subject<any> = new Subject()
constructor (public alertCtrl: AlertController) {}
setUserBookmarks(bookmarks: any) {
localStorage.setItem("myData", JSON.stringify(bookmarks));
this.bookmarks.next(bookmarks)
}
getUserBookmarks() {
return JSON.parse(localStorage.getItem("myData"))
}
然后,我的组件
// Component where I set data
export class ListEventsComponent {
bookmarks: any
constructor(private navParams: NavParams,
private localStorageService: LocalStorageService) {}
ngOnInit() {
this.localStorageService.bookmarks.subscribe(bookmarks => {
this.bookmarks = bookmarks
})
}
bookmark(event) {
this.localStorageService.setUserBookmarks(event)
}
}
最后:
// Component where I get data
export class AboutPage {
public bookmarks: any
constructor(public navCtrl: NavController, private localStorageService:LocalStorageService) {
this.localStorageService.bookmarks.subscribe(bookmarks => {
this.bookmarks = bookmarks
console.log(bookmarks)
})
}
removeBookmark(eventID: string) {
this.localStorageService.removeUserBookmark(this.bookmarks, eventID)
}
}
那么,怎样才能更新我的第二个组件时我在第一个? 预先感谢您,如果我不清楚,请不要犹豫,说出来:)
哦,是的!它正在工作!谢谢@FunStuff :) – ValSouche
欢迎您:)不要忘记接受答案。 – Bazinga