亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue使用三種方法刷新頁(yè)面

 更新時(shí)間:2021年06月24日 17:29:36   作者:壞小哥  
這篇文章說(shuō)明了如何使用Vue去刷新當(dāng)前頁(yè)面的多種方法實(shí)例,有完成的代碼提供參考,希望對(duì)你有所幫助

我們?cè)趯?xiě)項(xiàng)目的時(shí)候,經(jīng)常會(huì)遇到,用戶(hù)執(zhí)行完某個(gè)動(dòng)作,改變了某些狀態(tài),需要重新刷新頁(yè)面,以此來(lái)重新渲染頁(yè)面。如:用戶(hù)登錄成功、增加、刪除、更新等。

  • 原始方法:
location.reload();
  • vue自帶的路由跳轉(zhuǎn):
this.$router.go(0);

用過(guò)的人都知道,前兩者都是強(qiáng)制刷新頁(yè)面,會(huì)出現(xiàn)短暫的閃爍,用戶(hù)體驗(yàn)效果不好。
所以,我們選擇第三種方式:

  • 首先在App里面寫(xiě)下如下代碼:
<template>
    <div id="app">
    	<router-view v-if="isRouterAlive"></router-view>
	</div>
</template>
<script>
    export default {
        name: 'App',
        provide () {    //父組件中通過(guò)provide來(lái)提供變量,在子組件中通過(guò)inject來(lái)注入變量。                                             
            return {
                reload: this.reload                                              
            }
        },
        data() {
            return{
                isRouterAlive: true                    //控制視圖是否顯示的變量
            }
        },
        methods: {
            reload () {
                this.isRouterAlive = false;            //先關(guān)閉,
                this.$nextTick(function () {
                    this.isRouterAlive = true;         //再打開(kāi)
                }) 
            }
        },
    }
</script>

接下來(lái),我們就可以在需要刷新頁(yè)面的組件里這樣寫(xiě):

export default {
    inject:['reload'],                                 //注入App里的reload方法
    data () {
        return {
    	.......
        }
    },

在需要刷新頁(yè)面的代碼塊中使用:

到此這篇關(guān)于Vue使用三種方法刷新頁(yè)面的文章就介紹到這了,更多相關(guān)Vue刷新頁(yè)面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論