• vue 刷新当前页面的方式


    1.使用window.location.href window.location.replace() window.location.reload()

    会出现空白,体验不是很好

    2.先进入一个空路由,然后返回

    reflashPage(){
        let NewPage = '_empty' + '?time=' + new Date().getTime()/500;
        this.$router.push(NewPage);
        this.$router.go(-1);
    }

    刷新后点浏览器的前进按钮会出现空白页

    3.使用 provide / inject

    简单的来说就是在父组件中通过provide来提供变量,然后在子组件中通过inject来注入变量。

    app.vue

    <template>
      <div id="app">
        <router-view v-if="isRouterAlive"></router-view>
      </div>
    </template>
    <script>
    export default {
      name: 'App',
      provide(){
        return{
          reload:this.reload
        }
      },
      data(){
        return{
          isRouterAlive:true
        }
      },
      methods:{
        reload(){
          this.isRouterAlive = false;
          this.$nextTick(function(){
            this.isRouterAlive = true;
          })
        }
      }
    }
    </script>

    需要跳转的页面: 前面会有这个 inject

    export default {
        inject:['reload'],
        data () {
            return {
            ...
            }
        },

    后面想刷新当前页面的地方这样写:

    this.reload();

    Vue是双向数据绑定的,操作数据实时变化,大多情况不需要刷新页面。
    之前在做表单清空时用到了页面刷新,表单的数据比较多逐个清空比较麻烦。
    最近做页面拖拽排版效果,使用了jq的插件操作dom没有同时操作数据,导致数据和dom不一致,后来选择用刷新页面来做到统一。

  • 相关阅读:
    listview右边显示 abcd快速选择
    显示密码
    欢迎界面动画
    web get Post测试
    使用MultiDexApplication
    获取当前运行的Activity信息
    MFC得到运行程序路径
    构建之法阅读笔记01
    个人作业1:随机生成四则运算
    软件工程第一步
  • 原文地址:https://www.cnblogs.com/conglvse/p/9796551.html
Copyright © 2020-2023  润新知