2017-03-27 2 views
0

그래서 응용 프로그램 내에서 Map<number,any[]>을 속성 중 하나로 사용하는 개체가 있습니다. 현재는 localForage을 지속성으로 사용하고 있으며지도가 저장된 경우 ionic serve으로 안드로이드 또는 창 (브라우저 시뮬레이션)을 사용하지만 ios는 사용하지 않는 것이 좋습니다. 또한 내 안드로이드 장치에서 작동하지 않습니다. 안드로이드 및 윈도우 (시뮬레이션 브라우저)에이오닉 응용 프로그램에서 Typescript 맵을 유지하는 방법

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)) 
); 

그것을하지 않는 iOS의지도가 잘 보여줍니다

내 지점을 테스트 코드의 샘플입니다. 차이점은 ios가 WebSQL 데이터베이스를 사용하고 다른 것들은 indexedDB를 사용한다는 것입니다.

직렬화해야합니까? 이 문제를 수정하는 데이터를 저장하는 더 좋은 방법이 있습니까?

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

과 함께 이후 직렬화 :

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

답변

0

그래서 내가 가진 Map 객체를 직렬화 내 문제에 대한 해결책으로 발견
관련 문제