如何在Ionic应用程序上保留Typescript Map

时间:2017-03-27 09:02:28

标签: typescript ionic2 localforage

所以我的应用程序中有一些对象,Map<number,any[]>作为其属性之一。 目前我正在使用localForage来保持持久性,当地图被保存时,它使用android或windows(浏览器模拟)与ionic serve很好地存储它,而不是使用ios。 它也不能在我的Android设备上运行。

这是测试我的观点的代码示例:

let myMap: Map<number,any[]> = new Map();
myMap.set(1,['banana','pimento']);
console.log(myMap);
localForage.config({});
localForage.setItem("myMap",myMap)
 .then(()=>localForage.getItem("myMap")
  .then(map => console.log(map))
);

在android和windows(浏览器模拟)上,它显示地图就好了,在ios上它并没有。不同之处在于ios使用webSQL数据库而其他人使用indexedDB数据库。

我需要序列化它吗?有没有更好的方法来存储修复此问题的数据?

1 个答案:

答案 0 :(得分:0)

所以我找到了解决问题的方法,用{:1>序列化Map对象

JSON.stringify(Array.from( myMap.entries()));

然后用以下内容反序列化:

new Map<any,any>(JSON.parse(myMapFromStorage));