最近學習vue,使用了mint ui的tabBar,感受好難受,結合 tab-container使用更難受,由於它不是根據路由來切換頁面的。mui與它基本相反,所以它能根據搜索欄的路由變化,相應的tabBar高亮顯示,而mint ui就不能,要加點代碼實現了。javascript
//頁面 和 數據 <template> <div id="main"> <mt-tabbar v-model="selected"> <mt-tab-item :id="home"> 首頁 </mt-tab-item> <mt-tab-item :id="car"> 購物車 </mt-tab-item> <mt-tab-item :id="person"> 個人 </mt-tab-item> </mt-tabbar> </div> </template> <script> export default { data(){ return { //頁面刷新取數據 selected: sessionStorage.getItem('selected')? JSON.parse(sessionStorage.getItem('selected')):'首頁', home: '首頁', car: '購物車', person: '個人', } } } </script>
data(){ return { //默認顯示首頁,可是一旦sessionStorage有數據 當瀏覽器刷新的時候,取出該值,就實現了刷新不跳轉了 selected: sessionStorage.getItem('selected')? JSON.parse(sessionStorage.getItem('selected')):'首頁' } }, watch: { selected(val, oldVal){ //一旦標籤欄變化,把selected的值存到sessionStorage,保存當前值 sessionStorage.setItem('selected', JSON.stringify(val)) if(val === this.home){ //路由跳轉 到首頁 this.$router.replace('/home') }else if(val === this.car){ //路由跳轉 到購物車 this.$router.replace('/car') }else if(val === this.person){ //路由跳轉 到我的中心 this.$router.replace('/person') } }