javascript - 更新 Watch Vue.js 上的 cookie

标签 javascript vue.js

我目前正在实现cookie。 我有要设置的 cookie,并且该 cookie 最初有一个空对象。 一旦对象被填充,我就会看到对象正在更新,这是我想要更新我的 cookie 的地方,但是,它不会在 watch 上更新。 我将在下面放一份草稿。

   <template>
         <details @detailsCompleted="savedDetails"></details>
    </template>


      data() {
         return {
               obj:{}
         }
            },

    methods: {
    savedDetails: function(objectPassed) {
    this.obj = objectPassed;
    }
    }
     mounted: function() {
           this.obj = {};
            Cookies.set("name", JSON.stringify(this.obj), {expires: '1m'});
            Cookies.get("name");

        }

        watch: {
        obj: {
        handler: function(val){
        Cookies.set("name", JSON.stringify(val), {expires: '1m'});
         Cookies.get("name");

        }
    }

我可以看到cookies被初始化,并且有空的obj,但是,在 watch 上没有更新,我怎样才能实现这个?谢谢

最佳答案

只需像这样使用 saveDetails 方法更新 cookie

<template>
   <details @detailsCompleted="savedDetails"></details>
 </template>

 data() {
   return {
     obj:{}
    }
  },
  methods: {
    savedDetails: function(objectPassed) {
      this.obj = objectPassed;
      Cookies.set("name", JSON.stringify(objectPassed), {expires: '1m'});
      Cookies.get("name");
    }
  },
  mounted: function() {
    this.obj = {};
    Cookies.set("name", JSON.stringify(this.obj), {expires: '1m'});
    Cookies.get("name");
  }

编辑:

https://jsfiddle.net/k85o7bdq/

这是一个工作 fiddle 。

也许您正在尝试通过查看开发工具中的“应用程序”选项卡来确定 cookie 是否已更新?那里有一个小刷新按钮,更新 cookie 后尝试单击它。

关于javascript - 更新 Watch Vue.js 上的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54258168/

相关文章:

javascript - Axios 未在请求中发送自定义 header (可能是 CORS 问题)

javascript - html内容在iframe中呈现,但不在div中呈现

javascript - WordPress + Vue.js : Contact Forms

vue.js - 从 var 和 string 绑定(bind)一个类?

javascript - 给定季度数和年份,如何找到日期范围?

javascript - 事件执行顺序

javascript - 如何设置指定日期bootstrap datepicker?

javascript - Material Ui 列表函数返回重复值

javascript - 如何使用for循环在javascript中创建对象

vue.js - 以编程方式更改 Bootstrap Vue 分页