簡體   English   中英

Vue路由器上一頁,無需重新加載

[英]Vue Router previous page without reload

我正在嘗試使用vuejs中的vue-router創建一個后退按鈕以轉到上一頁,它的工作原理與瀏覽器的后退按鈕完全一樣。 問題是,當路由器使用歷史記錄模式時,

this.$router.go(-1);

它實際上會刷新頁面,這很煩人,而瀏覽器的“后退”按鈕卻沒有。 如果刪除歷史記錄模式,則它會按預期工作,就像瀏覽器的“后退”按鈕一樣。 但是,在這種情況下,我需要處理URL中的丑陋標簽。 另外,由於我只需要在幾個頁面上使用此按鈕,所以我也可以使用“保留歷史記錄”模式,但不必使后退按鈕實際轉到上一頁,而是可以切換一些值來更改顯示哪個動態組件,但是實際不更改當前頁面。 但是,如果執行此操作,瀏覽器的后退按鈕將無法再按預期工作,因為它顯然無法切換狀態。

有什么方法可以使按鈕的功能與瀏覽器的后退按鈕完全相同? 像這樣,創建一個后退按鈕,它不會刷新頁面,在URL中沒有井號標記,並且仍然可以與瀏覽器的后退按鈕一起使用嗎?

編輯:將要刪除,因為我意識到這不是代碼的問題,這是測試的問題,但是我會保留在這里,以防萬一它對某人有用。 當我使用后退按鈕轉到路線時,沒有按鈕可以轉到該路線,因此我需要直接將其輸入URL。 但是,這有效地擦除了所有存儲的狀態,因此我的后退按鈕無法正常工作。 如果我從另一個頁面導航到該頁面,那么我的后退按鈕將按預期工作。

您可以使用window.history.back()直接模擬點擊瀏覽器的后退按鈕。

這樣嘗試

 this.$router.back() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM