vue-cookies调用get方法返回[object Object]而非实际值求助
问题排查与解决
问题原因
Cookie仅支持存储字符串类型数据,直接存入数组/对象这类复杂类型时,会被自动调用toString()方法,最终存储的就是[object Object]字符串,这就是你获取到该结果的核心原因。
修正代码
- 存储Cookie时,将数组转为JSON字符串
修改设置Cookie的代码:
this.$cookies.set('cart', JSON.stringify(this.cart), 60 * 60 * 24)
- 获取Cookie时,将字符串解析回数组对象
修改获取Cookie的代码:
const cartData = JSON.parse(this.$cookies.get('cart')) console.log(cartData)
验证方式
打开浏览器开发者工具(F12),切换到Application标签页,在左侧菜单找到Cookies,查看cart对应的值,应该是标准的JSON格式字符串,而非[object Object]。
内容的提问来源于stack exchange,提问作者Jacky.S
相关产品推荐
相关产品推荐

