当前位置:首页 > 无线WIFI连接 > 正文内容

vue路由缓存列表不刷新

楷峰2023年02月13日 12:10无线WIFI连接112

本篇文章给大家谈谈vue路由缓存列表不刷新,以及vue路由缓存页面对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Vue中iframe保持活动状态(不刷新)

前言:

提起vue的缓存,大家第一时间想到的一定是keep-alive,但是了解keep-alive缓存原理的都知道是将节点信息保留在VNode中的组件中(在内存中),并在需要渲染时从VNode渲染到真实DOM。iframe页面中的内容不属于该节点的信息,因此使用keep-alive仍会重新呈现iframe中的内容。但公司很多的项目涉及报表,报表都是以iframe的形式渲染的。

解决思路:

既然keep-alive只对节点信息有缓存,可以考虑在Vue的route-view节点上做点什么吗?切换非iframe页面时,它利用Vue路由;切换iframe页面时,它利用v-show切换显示和隐藏,这样就不会删除iframe节点,从而可以保持iframe状态。

做法:

router下的index.js

引入iframe页面

路由配置

在router-view页面

  div id = "index"

    Header /

    keep-alive

      router-view /

    /keep-alive

    !-- iframe page --

        component

            v-for="item in hasOpenComponentsArr"

            :key="item.name"

            :is="item.name"

            v-show="$route.path === item.path"

        /component

    Footer /

  /div

/template

script

  import Header from '@/views/homePage/homePage_Header'

  import Footer from '@/views/homePage/homePage_Footer'

  import Vue from 'vue'

  export default {

    name: "index",

    components : {Header,Footer},

    created() {

      const routes = this.$router.options.routes;

        const componentsArr = this.getComponentsArr(routes);

        componentsArr.forEach((item) = {

            Vue.component(item.name, item.component);

        });

        this.componentsArr = componentsArr;

        this.isOpenIframePage();

    },

    data() {

        return {

          iframeArr:[],

          componentsArr: []

        }

    },

    watch: {

        $route() {

            this.isOpenIframePage();

        }

    },

    computed: {

        hasOpenComponentsArr() {

            return this.componentsArr.filter(item = item.hasOpen);

        }

    },

    methods: {

        isOpenIframePage() {

            const target = this.componentsArr.find(item = {

                return item.path === this.$route.path

            });

            if (target  !target.hasOpen) {

                target.hasOpen = true;

            }

        },

        getComponentsArr(routes) {      

             routes.map( it = {

               if(it.iframeComponent){

                 const name = it.name || it.path.replace('/', '');

                 this.iframeArr.push({

                  name: name,

                  path: it.path,

                  hasOpen: false,

                  component: it.iframeComponent

                 })

               }

               if(it.childrenit.children.length0){

                 this.getComponentsArr(it.children)

               }

             })   

             return  this.iframeArr

        }

    }

  }

/script

style scoped

/style                                                   

结语:

文章参看至:

如果大家有好的思路,欢迎交流讨论

Vue路由this.$router.push跳转页面不刷新

介绍: 在vue项目开发中,使用路由进行页面跳转时,路由所跳转的页面不进行刷新。也就是vue生命周期函数没有执行(created、mounted钩子函数)。

案例:

A页面:

B页面:

问题:

当在A页面第一点击按钮到B页面时,一切正常,当返回到A页面再次点击按钮时,B页面没有执行mounted钩子函数,结果导致mounted函数中查询方法不执行。

vue.js中created()与activated()的个人使用理解:

this. router.push()的差别:

vue-router3.0版本中 router.push 不能刷新页面的问题:

vue路由跳转,不让页面刷新,怎么做

可以使用keep-alive缓存页面:具体做法是:可在App.vue中

keep-alive :include="includePages"

router-view id="app"/router-view

/keep-alive

includePages:对应一个数组,里面是要缓存的页面的name,即是.VUE文件中:

export default {

name: 'xxx',

这里的XXX

解决vue项目 点击相同菜单栏页面不刷新

痛点: 用vue搭建的后台管理系统中,一般点击左侧当前菜单,当前组件是无法刷新的。

问题原因: 点击相同菜单,因为vue的路由机制是处于相同的路由下,路由组件不重新渲染,因此点击相同路由,vue路由系统不做任何的响应。

解决方案思路: vue的路由机制是无法改变的,但是结合我们的项目发现,如果点击相同的路由,我们可以动态的销毁当前组件,再重新加载,这样就达到了重新渲染的效果。

实际操作:

vue 同一个页面第二次跳转路由不刷新问题

vue在第二次跳转同一路由跳转数据不更新,

使用router-view时,如果在相同路由之间跳转,默认在跳转路由时会采用缓存策略,并不会刷新当前路由组件。即mounted,beforeDestory等钩子函数并不会触发。vue 同一路由跳转不走生命周期,导致数据不更新。

使用watch 监听路由变化。手动更新数据。

使用 router-view :key="$route.fullPath"/

把你mounted(){} 里面执行的办法在 activated(){} 里面在执行一遍,完美解决。

关于vue路由缓存列表不刷新和vue路由缓存页面的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫描二维码推送至手机访问。

版权声明:本文由路由设置网发布,如需转载请注明出处。

本文链接:https://www.xt88888.com/post/5859.html

分享给朋友:

“vue路由缓存列表不刷新” 的相关文章

路由器固定座怎么拆

路由器固定座怎么拆

今天给各位分享路由器固定座怎么拆的知识,其中也会对移动路由器怎么拆开进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、怎么拆wifi路由器? 2、TP路由器...

换路由器需要注意哪些事项

换路由器需要注意哪些事项

今天给各位分享换路由器需要注意哪些事项的知识,其中也会对更换路由器需要注意什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、家里更换新的路由器要怎么操作...

怎么连接到企业路由器

怎么连接到企业路由器

本篇文章给大家谈谈怎么连接到企业路由器,以及怎么连接到企业路由器上对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、tplink企业级路由器怎么设置 2、怎么设置单位的路...

创新路由器怎么设置

创新路由器怎么设置

本篇文章给大家谈谈创新路由器怎么设置,以及创新路由器怎么设置网速快对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、5g路由器怎么设置手机 2、新装宽带怎么设置路由器...

路由器怎么隐藏网线

路由器怎么隐藏网线

本篇文章给大家谈谈路由器怎么隐藏网线,以及路由器怎么样隐藏网络名称对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、怎样隐藏自家wifi 2、怎么隐藏wiFi 3、如...

潜江接入路由器企业

潜江接入路由器企业

今天给各位分享潜江接入路由器企业的知识,其中也会对潜江接入路由器企业有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、企业路由器怎么设置 2、潜江哪儿...