搜索

首页  >  问答  >  正文

vue-cookies 获取值返回对象而不是实际值

我在我的 vue 项目中使用 vue-cookies npm 包。我安装包、在项目中初始化它并设置 cookie 没有问题。但是,当我尝试通过键检索存储在 cookie 中的值时,它没有显示我存储的值,而是显示 [object Object],我不确定出了什么问题: 这是我的代码:

this.cart.push({
  productID: this.product._id,
  product: {
    productName: this.product.productName,
    thumbnail: this.product.productMedia[0].imagePath,
    option: 'Digital Download'
  },
  unitPrice: this.product.price.listingPrice,
  quantity: 1
})
console.log(this.cart)
this.$cookies.set('cart', this.cart, 60 * 60 * 24)
console.log(this.$cookies.isKey('cart'))
console.log(this.$cookies.get('cart'))

我确定 this.cart 不为空, $this.$cookies.isKey('cart) 返回 true,但是 $cookies.get() 方法返回 [ object Object]而不是我存储的购物车值。如有任何帮助,我们将不胜感激!

P粉878510551P粉878510551390 天前553

全部回复(2)我来回复

  • P粉447785031

    P粉4477850312024-01-02 10:37:36

    如果您想在控制台中查看该值,请尝试执行以下操作

    console.log(JSON.stringify(this.$cookies.get('cart')))

    有问题的对象可能是嵌套的,这就是它无法打印的原因。

    回复
    0
  • P粉810050669

    P粉8100506692024-01-02 10:05:01

    在cookie中设置JSON对象时。您可以将键值设置为 JSON 字符串,而不是 JSON 对象。

    this.$cookies.set('cart', JSON.stringify(this.cart), 60 * 60 * 24)

    获取时可以通过将JSON字符串解析为对象来访问。

    JSON.parse(this.$cookies.get('cart'))

    回复
    0
  • 取消回复