vue-router 是 Vue 官方的路由管理器,用法簡單、功能強大。但在移動端場景中,特別是 hybrid 項目,咱們在使用中遇到了一些問題。vue
咱們先理順一下客戶端路由管理器的一般特色,能夠打開手機的設置 App 感覺一下:git
所以在面向移動端的產品中,用戶的操做習慣、產品的設計理念也大多趨同於以上幾點。但咱們從 vue-router 的角度再來審視這幾個點,就會發下有這幾個問題:github
keep-alive
組件。而在移動端,大部分棧式路由的場景,PageA 跳轉到 PageB,A 和 B 實例都是存活的,當 PageB 返回 PageA,A 存活而 B 被銷燬,顯然 vue-router 沒法知足這個場景。因而咱們開始在社區中尋找解決方案,但遺憾的是大多方案都是基於 vue-router
的二次開發,而且都不知足需求和有一些 Bug。所以咱們基於棧的理念開發了,針對移動端應用開發了 vue-stack-router
。vue-router
先放上效果圖以及基於它實現的滑動返回。設計
相較於 vue-router
, vue-stack-router
有如下特色:code
beforeRouteUpdate
)具體文檔見 vue-stack-router , 相較於 vue-router
,vue-stack-router
的功能在一些方面依然不夠完善和強大,也但願感興趣的同窗能一塊兒來完善這個庫。放上 github 地址 github.com/luojilab/vu… ,歡迎 pr/Issues/star。router
後續文章會解析整個 vue-stack-router
設計和實現過程,歡迎你們關注。cdn