vue3 页面刷新后json的问题

Hello
  • 3
新手上路,请多包涵

当我打开浏览器第一次时,点击按钮添加数据是正常的

image.png

但是当我刷新页面,数据初始化,点击按钮添加数据就成这样了,下图。

image.png

length依然是1,展开的数据也在,但是箭头所指的Array括号里的数据却为空,别的地方也取不到该变量的数据。

请问这是什么原因造成的??

PS:如果我多push2次,第二次第三次的数据却可以正常保存,下图
image.png
length=3,但是Array括号里只有2个数据。

回复
阅读 1.6k
1 个回答

有关 console.log 展开前后快照变化的问题算是月经题了。
简单来说,就是 console.log已经展开的信息不会跟着对象内容变化,后续再展开的信息则是在展开时临时去获取的,所以先后展开的信息可能不一致。
你可以把 console.log 重写一下:

;(() => {
    const consoleLog = console.log;
    console.log = (...args) => {
        try{
            args[0] = JSON.parse(JSON.stringify(args[0]));
        } catch (err) {}
        return consoleLog(...args);
    }
})();

这样一来,已打印的对象信息就不再随原对象的变化而变化了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏