如何實現網頁后退?
一個簡單的思路:
隱藏需要記錄scrollTop的DOM節點,顯示詳情DOM,前進后退則主要是利用了錨點這個功能,通過錨點的變化來選擇顯示和隱藏哪些DOM元素。
下面是Vue的實現方法:
首先是路由器需要區別,一種視圖是每次進來都需要加載頁面的,還有一種視圖第一次初始化完畢之后就不再會變化,我們通過v-if="xxxx"來進行區分,請看下面的代碼:
接下來,我們需要在router中配置所謂的v-if中的keepAlive:
只需要上面兩部既能保留你所有在上一層路徑下的所有狀態,自然也包括了滾動條所在的位置。