【问题标题】:Vue - Importing external JSON without reloadingVue - 在不重新加载的情况下导入外部 JSON
【发布时间】:2019-11-03 22:32:24
【问题描述】:

我遇到了每次更新 JSON 文件时都会重置响应数据的问题。

JSON 文件是先前消息的数据库,最初将在 created() 循环中加载一次:

created() {
     const database = require('../../db.json');
     this.messages = database.messages
},

在服务器端,任何新消息都会更新此 JSON 文件。但是,当这种情况发生时,它会在 Vue 应用程序中触发新的导入,并且数据值会被重置。

我只想在加载时导入此数据一次 - 有什么办法吗?

【问题讨论】:

  • 您是说您的组件在db.json 文件更新后会自动重新加载?您确定这不仅仅发生在运行开发服务器时,该服务器会监视导入的模块以进行更改并重新加载它们(也称为热重新加载)?
  • 啊,可能是这样..我会部署和测试。

标签: json vue.js


【解决方案1】:

尝试制作 database.messages 的深层副本。

created(){
    ...
    this.messages = JSON.parse(JSON.stringify(database.messages));

【讨论】:

  • 没问题。请记住,大多数时候您不想这样做!您正在复制信息并造成同步问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多