use*_*852 4 javascript client-side local-storage
我正在尝试在对象内的数组中本地存储对象.
如果我在我的控制台中尝试以下操作,它可以完美地工
theObject = {}
theObject.theArray = []
arrayObj = {"One":"111"}
theObject.theArray.push(arrayObj)
Run Code Online (Sandbox Code Playgroud)
但是,如果我按照我认为相同的方式执行操作,除了将结果存储在localStorage中之外,它将失败:
localStorage.localObj = {}
localStorage.localObj.localArray = []
stringArrayObj = JSON.stringify(arrayObj)
localStorage.localObj.localArray.push(stringArrayObj)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误...
localStorage.localObj.localArray.push(stringArrayObj)
TypeError
arguments: Array[2]
message: "—"
stack: "—"
type: "non_object_property_call"
__proto__: Error
Run Code Online (Sandbox Code Playgroud)
知道我怎么能让这个工作吗?
干杯
Mat*_*hew 10
您只能在localStorage中存储字符串.您需要对对象进行JSON编码,然后将结果字符串存储在localStorage中.当您的应用程序启动时,JSON解码您在localStorage中保存的值.
localObj = {}
localObj.localArray = []
localObj.localArray.push(arrayObj)
localStorage.localObj = JSON.stringify(localObj);
...
localObj = JSON.parse(localStorage.localObj);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8956 次 |
| 最近记录: |