為什么vue-router和Vuex不能在vue之外的生態(tài)使用呢悉患?
大家都知道路由模式有Hash和History兩種。在vue-router中也存在這兩種榆俺,比如過hash模式下可以通過hashchange的方法監(jiān)聽路由是否改變售躁,一旦改變在Vue中會記錄變化坞淮,利用Vue的響應(yīng)式機制,拿到與路由規(guī)則匹配的組件進行渲染陪捷。History提供的方法中pushState回窘,replaceState,popstate也可以監(jiān)聽路由變化市袖。?廢話不多說直接上代碼啡直。
手寫Vue—Router?
所以在Vue-router和Vue是強耦合的,要使用Vue的響應(yīng)式苍碟。
相同的情況下Vuex也是同理
Vuex其實也是使用了Vue的響應(yīng)式酒觅,在data中的數(shù)據(jù)Vue會自動把數(shù)據(jù)改為響應(yīng)式數(shù)據(jù),
總結(jié):? Vue-Router和Vuex需要Vue的響應(yīng)式系統(tǒng)進行數(shù)據(jù)的響應(yīng)式處理進行變更微峰。所以Vue-Router和Vuex不能在Vue生態(tài)外使用