美文网首页Vue系列
解决多级页面前进刷新后退不刷新问题(vue)

解决多级页面前进刷新后退不刷新问题(vue)

作者: Rosa_Lv | 来源:发表于2019-01-07 14:23 被阅读0次

      最近在项目中遇到这样一个需求:
      有三个页面:a->b->c,a页面点击链接前进到b页面,b页面点击链接前进到 c页面,从c页面按浏览器的后退键,可以c->b->a依次返回。要求前进的时候页面刷新,后退时页面不刷新(不发请求,页面内容不变,滚动条位置也不变)
      一开始尝试用vue里的keep-alive解决,但没成功。网上大部分的解决方案是用keep-alive配合router-view,keep-alive适合a->b,b->a这种二级页面的返回,但三级及以上就不合适了,写起来会很麻烦而且不通用。
      经过几天的查资料,最终找到了解决办法:使用vue-navigation插件。基础用法:

    npm i -S vue-navigation
    

    main.js:

    import Vue from 'vue'
    import router from './router' // vue-router instance
    import Navigation from 'vue-navigation'
    
    Vue.use(Navigation, {router})
    

    App.vue

    <template>
      <navigation>
        <router-view></router-view>
      </navigation>
    </template>
    

    这些基本就够用了,想了解更多请看原文档:https://github.com/zack24q/vue-navigation
      感谢vue-navigation的作者zack24q,@zack24q
      感谢https://cnodejs.org/topic/5981617528607f916122dba8此贴作者,感谢16楼的回答。

    相关文章

      网友评论

        本文标题:解决多级页面前进刷新后退不刷新问题(vue)

        本文链接:https://www.haomeiwen.com/subject/qllzlqtx.html