記錄~記錄~~有時候,我們會遇到一個頁面有兩個頁簽切換需求,但是為了避免同時加載兩個頁面,我們要做到的就是當前進入的是那個頁面,就先加載哪一個頁面,並且也不會造成瀏覽器地址的變化。一開始我使用的方法是在當前頁面再加個 <router-view/> 實現二級路由,功能也是可以實現的,但是當我不停的切換的時候,瀏覽器地址也會不斷的改變,所以但我點擊瀏覽器返回鍵的時候,就會出現一個不停的返回上一個頁面,導致這兩個頁簽不停切換,到最后才能回到首頁。所以為了避免如此差的體驗,最后結合mintUI實現理想的效果,廢話不多說,具體實現如下:
<template> <div class="votepage"> <div class="tab"> <mt-navbar v-model="selected"> <mt-tab-item id="1" @click.native="selectChange('VoteList')">投一票</mt-tab-item> <mt-tab-item id="2" @click.native="selectChange('VoteResult')">看結果</mt-tab-item> </mt-navbar> </div> <mt-tab-container v-model="selected"> <mt-tab-container-item :id="selected"> <component :is='currentView' keep-alive></component> </mt-tab-container-item> </mt-tab-container> </div> </template> <script> import VoteList from '@/components/VoteList.vue' import VoteResult from '@/components/VoteResult.vue' export default { name: 'votepage', data(){ return{ selected:"1", currentView:"VoteList", } }, mounted(){ }, methods:{ selectChange(view){ this.currentView = view } }, components:{ VoteList, VoteResult } } </script>
告訴自己,每天進步一點點並持之以恆~