• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    vue項目刷新當前頁面的幾種方式

    2019-11-4    seo達人

    在vue項目中,經常會遇到需要刷新當前頁面的需求。

    因為vue-router判斷如果路由沒有變化,是不會刷新頁面獲取數據的。



    方式1:go(0)和reload()

    通過location.reload()或是this.$router.go(0)兩種強制刷新方式,相當于按F5,會出現瞬間白屏,體驗差,不推薦。



    方式2:定義一個空白路由頁面,路由跳轉到該空白頁后立馬跳回當前頁,實現路由刷新。

    在router路由表中定義一個空白路由,



     // 強制刷新當前頁所用的中間跳轉頁

       {

            path: '/redirect/:path*',

            component: () => import('@/views/redirect/index')

      }



    寫一個空白路由組件



    //redirect/index

    <script>

    export default {

      created() {

        const { params, query } = this.$route

        const { path } = params

        this.$router.replace({ path: '/' + path, query })

      },

      render: function(h) {

        return h() // avoid warning message

      }

    }

    </script>





    在需要刷新的頁面使用



    refresh() {

          // 刷新當前路由

          const { fullPath } = this.$route

          this.$router.replace({

            path: '/redirect' + fullPath

          })

        }



    這種方式,基本上能夠應付絕大多數情況,推薦使用。

    但是,有時候,有一些極端情況下,這種刷新不起作用,而又不想用第一種那種毛子般的簡單粗暴的方式的話,下面的方式可以選擇使用。



    方式3:provede/inject 方式

    vue官方文檔說了,這個依賴注入方式是給插件開發使用的,普通應用中不推薦使用。

    但是,效果卻很好。

    app.vue修改



    <template>

      <div id="app">

        <router-view v-if="isRouterAlive" />

      </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>





    使用的時候:

    demo.vue



    <template>

      <div class="container">

      xxx

      </div>

    </template>



    <script>

    export default {

      inject: ['reload], // 依賴注入

      name: 'Demo',

      computed: {

        message() {

          return '抱歉,您訪問的頁面地址有誤或者該頁面不存在...'

        }

      },

      methods: {

      handleReload() {

      this.reload() // 直接在需要刷新的方法中調用這個reload()

    }

      }

    }

    </script>



    <style lang="scss" scoped>

    </style>



    原理就是通過依賴注入的方式,在頂部app通過v-if的顯示隱藏來強制切換顯示,以此來讓vue重新渲染整個頁面,app中通過provide方式定義的reload方法,在它的后代組件中,無論嵌套多深,都能夠觸發調用這個方法。具體說明查看官方文檔。


    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://www.lzhte.cn

    存檔

    主站蜘蛛池模板: 亚洲欧美日韩国产一区二区精品 | 五月天婷婷丁香花| 天堂网av最新在线| 亚洲一区二区精品久久岳 | 真人做人试看60分钟免费视频| 有码精品视频在线观看| 福利导航页| 欧亚激情偷乱人伦小说专区| 静海县| 午夜一级做a爰片久久毛片| 亚洲人成在线观看网站不卡| 国产午夜精品久久久久99 | 久久精品第一国产久精国产宅男66 | 国产亚洲精品成人av在线| 久久无码无码久久综合综合| 日本妇人成熟免费视频| 日韩亚洲制服丝袜中文字幕| 欧美日韩亚洲一级在线一区| 久久99精品国产免费观观 | 激情综合婷婷丁香五月| www.色色色.com| 欧美操逼色图| 中文字幕VA一区二区三区| 国产大学生粉嫩无套流白浆| 精品一区二区不卡免费| 婷婷久久久亚洲欧洲日产国码AV| 99久久精品国产片| 涩涩国产在线不卡无码| 亚洲男人AV香蕉爽爽爽爽| 好看午夜一鲁一鲁一鲁| 欧洲中文字幕一区二区| 崇义县| 操碰视频在线| 无码日韩精品一区二区三区免费| 影音先锋男人av橹橹色| 高清国产一级毛片国语| 又黄又爽又刺激又色的视频 | 欧美日本一区二区三区免费| 国产精品尹人在线观看| 91丨熟女丨对白| 亚洲AV综合A国产AV中文|