tft每日頭條

 > 科技

 > vue如何讓數據不需要刷新就能更新

vue如何讓數據不需要刷新就能更新

科技 更新时间:2025-02-11 19:37:39
前言

在開發Vue項目過程中,遇到頁面樣式混亂情形。後發現可通過刷新頁面解決該問題,經過問題探究,發現使用最簡單的頁面刷新方法location.reload()或this.$router.go(0)均會導緻頁面刷新過程中出現空白現象的發生,用戶體驗不佳,故繼續探究解決方法。

業務場景

在管理後台,在執行完,增,删,改,操作的時候。我們需要刷新一下頁面,重載數據。在JQ中會用到location.reload()方法刷新頁面;在vue中,需要用到一個 provide / inject 這對用例。(其他方法:this.$router.go(0),會強制刷新,出現空白頁面,用戶體驗不佳。)

注:provide / inject 這對選項需要一起使用,以允許一個祖先組件向其所有子孫後代注入一個依賴,不論組件層次有多深,并在其上下遊關系成立的時間裡始終生效。

實現原理

通過控制router-view 的顯示與隐藏,來重渲染路由區域,從而達到頁面刷新的效果,show -> flase -> show

應用代碼

1.首先在我們的根組件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 }) } }, components:{ } } </script>

2.然後在子組件裡面進行引用

vue如何讓數據不需要刷新就能更新(Vue進階壹佰)1

3.在執行完相應的操作,後調用reload方法

vue如何讓數據不需要刷新就能更新(Vue進階壹佰)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved