我正在使用Ionic4。我有一个Items数组
private items: Item[];
在此类的构造函数中,我使用服务从本地存储获取数据
this.dataService.getData().subscribe((data) => {
this.items = data;
});
问题是在第一次加载中将“ this.items”设置为未定义。 服务中的代码是这样的:
export class ItemService {
data: Item[];
constructor(private storage: Storage) {
this.storage.get('listData').then((val) => {
this.data = JSON.parse(val);
});
}
saveData(dataItem: Item) {
this.data.push(dataItem);
//console.log(this.data);
this.storage.set('listData',JSON.stringify(this.data));
}
getData() {
return of(this.data);
}
}
感谢您的帮助。谢谢!
答案 0 :(得分:0)
尝试使用from
// RxJS v6+
import { from } from 'rxjs';
export class ItemService {
data: Item[] = [];
constructor(private storage: Storage) {
this.storage.get('listData').then((val) => {
this.data = JSON.parse(val);
});
}
saveData(dataItem: Item) {
this.data.push(dataItem);
//console.log(this.data);
this.storage.set('listData',JSON.stringify(this.data));
}
getData() {
return from(this.data);
}
}
您可以查看from文档以了解更多详细信息。