一颗霸气的小虎牙 2020-08-18 15:27 采纳率: 33.3%
浏览 547
已采纳

vue中组件刷新,避免加载缓存?

vue中组件刷新,避免加载缓存?

在element-ui table中插入了html文件,每一次展开都会发送请求,后台都会更新这两个文件,但是页面总是加载上一次请求得到的html文件。给iframe绑定了key,然后每次请求成功后都改变key值,但没什么用

html:

<el-table-column type="expand" v-loading="loading">
            <template>
              <div class="scatter" style="float: left;width: 50%;" id="scatter">
                             <iframe src="static/picScatter.html" frameborder="0" class="pic" style="height: 400px;width: 100%;margin: 0;" id="scatterPic" :key="scatter"></iframe>
              </div>
              <div class="box" style="float: right;width: 50%;" id="box">
                <iframe src="static/picBox.html" frameborder="0" class="pic" style="height: 400px;width: 100%;margin: 0;" id="picBox.html" :key="box"></iframe>
              </div>
            </template>
</el-table-column>

data:

data () {
      return {
        scatter: 0,
        box: 1,

methods:

getRowKeys (row) {
        return row.bodysite
      },
expandSelect (row, expandedRows) {
    var that = this
    console.log(row)
    if (expandedRows.length) {
        that.expands = []
        if (row) {
            that.expands.push(row.bodysite)
        }
    }else{
        that.expands = []
    }
    this.loading = true
    this.$axios
        .get('taxonsDetail', { params: { id: this.speciesInfo.id,site: row.bodysite } })
        .then(res => {
                console.log(res.data)
            if (res.data.results === "success"){
                this.box += 1
                this.scatter += 1
            }
        })
}
  • 写回答

3条回答 默认 最新

  • 淘人居士 2020-08-18 15:36
    关注

    充分了解一下浏览器的缓存机制。
    get请求只要url没有变化,一定会走缓存。
    所以解决办法是将iframe的src动态化

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥15 (关键词-阻抗匹配,HFSS,RFID标签天线)
  • ¥15 机器人轨迹规划相关问题
  • ¥15 word样式右侧翻页键消失