鍍金池/ 問答/HTML/ 關(guān)于 Vue 路由以及瀏覽器刷新問題

關(guān)于 Vue 路由以及瀏覽器刷新問題

Vue 是 SPA 應(yīng)用,之前公司也做過類似項(xiàng)目,但是這種模式瀏覽器一刷新就什么都恢復(fù)到最初的狀態(tài)了(History 模式),即一刷新就什么都沒了,所以想問:Vue 框架如何在刷新瀏覽器后始終保持或者恢復(fù)到刷新前的狀態(tài)?包括路由、數(shù)據(jù)等

回答
編輯回答
孤巷

關(guān)于數(shù)據(jù)哦,樓上回答的很好了,需要做本地緩存或者持久化,畢竟SPA就是單頁面應(yīng)用,核心就是無刷新,H5能做的就這么多了。
再說History模式,只是替代丑陋的hash的一種傳統(tǒng)路由而已,想要支持history模式,開發(fā)環(huán)境隨意,服務(wù)端在靜態(tài)資源代理服務(wù)器如nginx,還是需要做如下配置的,否則刷新404:

location / {
  try_files $uri $uri/ /index.html;
}
2017年12月14日 23:25
編輯回答
熟稔

刷新路由還在的吧(你說的是history模式?)。數(shù)據(jù)只能通過與storage結(jié)合,在vuex的mutations里做本地存儲(chǔ)的工作。

2018年6月29日 20:25
編輯回答
做不到

這就涉及到spa項(xiàng)目頁面解耦的問題,頁面之間的關(guān)聯(lián)性盡量降低,數(shù)據(jù)盡量從接口獲取,路由之間的數(shù)據(jù)傳遞盡可能少,盡量只傳遞關(guān)鍵字段,傳遞的數(shù)據(jù)可以放在路由里,可以進(jìn)緩存。這樣就能防止瀏覽器刷新了。這是做spa項(xiàng)目每個(gè)頁面接口設(shè)計(jì)必須要考慮到的因素

2017年12月5日 20:14