vue路由切換是頁面渲染問題
問題1分析
雖然頁面不同,但是每個頁面有與其他頁面相同的id,在路由切換時,之前界面的元素會疊加渲染到新頁面上。
解決過程1
修改id
,使其都不相同
問題2分析
路由切換,複用的子組件的下拉選項沒有隨之變化。
原因是keep-alive
是Vue的內置組件,能在組件切換過程中將狀態保留在內存中,防止重複渲染DOM,寫在mouted
鉤子函數中的代碼並沒有被執行。
解決過程2
使用activated
鉤子函數(keep-alive組件激活時調用),將跟隨路由變化的部分寫在activated
,其他的保留在mounted
在被重複複用的子組件內使用
activated() {
this.$store.commit('updateClasses', "所有班級")
this.classs=this.classes
this.init()
},
mounted(){
this.times()
},