无法访问存储在 vue.js 中本地存储 [object Object] 中的 json 对象
cant access json object stored in local storage [object Object] in vue.js
我有 fieldObj
,我经常需要。它来自数据库。
我想把它存储在localStorage中。
下面是我编写的代码,如果 localStorage 没有,它会从数据库中获取 fieldObj
。
当我尝试访问存储在 localStorage 中的 json 数据时,它只显示
[object Object]
代码将 localStorage 的 fieldObj
视为字符串。
我需要访问存储在 fieldObj
中的键值对。
<script>
export default {
data() {
return {
fields: JSON,
}
},
created() {
if (!localStorage.getItem('field-obj')) {
axios
.get('/api/u/record/', {
withCredentials: true,
})
.then((response) => {
response.data.forEach((el) => {
if (el.COLUMN_TYPE == 'int') el.COLUMN_TYPE = 'number'
})
const fieldObj = response.data[0].fieldObj[0]
this.fields = fieldObj
})
.then(() => {
localStorage.setItem('field-obj', this.fields)
})
} else {
console.log(new Object(localStorage.getItem('field-obj')))
// console.log(localStorage.getItem('field-obj')[0].username)
}
},
}
</script>
在localStorage中这样设置
localStorage.setItem('field-obj',JSON.stringify(this.fields))
并使用此方法访问它解决了问题
this.fields = JSON.parse(localStorage.getItem('field-obj'))
一个更复杂的例子可以是 ,使用 Nuxt。
我有 fieldObj
,我经常需要。它来自数据库。
我想把它存储在localStorage中。
下面是我编写的代码,如果 localStorage 没有,它会从数据库中获取 fieldObj
。
当我尝试访问存储在 localStorage 中的 json 数据时,它只显示
[object Object]
代码将 localStorage 的 fieldObj
视为字符串。
我需要访问存储在 fieldObj
中的键值对。
<script>
export default {
data() {
return {
fields: JSON,
}
},
created() {
if (!localStorage.getItem('field-obj')) {
axios
.get('/api/u/record/', {
withCredentials: true,
})
.then((response) => {
response.data.forEach((el) => {
if (el.COLUMN_TYPE == 'int') el.COLUMN_TYPE = 'number'
})
const fieldObj = response.data[0].fieldObj[0]
this.fields = fieldObj
})
.then(() => {
localStorage.setItem('field-obj', this.fields)
})
} else {
console.log(new Object(localStorage.getItem('field-obj')))
// console.log(localStorage.getItem('field-obj')[0].username)
}
},
}
</script>
在localStorage中这样设置
localStorage.setItem('field-obj',JSON.stringify(this.fields))
并使用此方法访问它解决了问题
this.fields = JSON.parse(localStorage.getItem('field-obj'))
一个更复杂的例子可以是