2017-03-27 39 views
0

因此,我在我的應用程序中使用Map<number,any[]>作爲它們的一個屬性。 目前,我正在使用localForage進行持久化,並且在保存地圖時,它使用android或windows(瀏覽器模擬)與ionic serve進行良好存儲,但與ios不同。 此外,它不工作在我的Android設備。如何在Ionic應用程序上保留Typescript Map

這是代碼測試我的觀點的例子:

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數據庫。

我需要序列化它嗎?有沒有更好的方法來存儲修復此問題的數據?

回答

0

所以我發現一個解決我的問題序列化與Map對象:

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

,並與事後反序列化:

new Map<any,any>(JSON.parse(myMapFromStorage)); 
相關問題