路由跳轉(zhuǎn)的時(shí)候我們就不可以用切換的形式來(lái)改變點(diǎn)擊標(biāo)簽的樣式了,因?yàn)楫?dāng)頁(yè)面刷新绪颖,會(huì)回到初始值秽荤,而頁(yè)面和標(biāo)簽的樣式就對(duì)應(yīng)不上甜奄。解決方法如下:
方式一:使用active-class屬性:
這個(gè)屬性是設(shè)置激活鏈接時(shí)class屬性,也就是當(dāng)前頁(yè)面所有與當(dāng)前地址所匹配的的鏈接都會(huì)被添加上class屬性窃款。exact標(biāo)簽:開(kāi)啟router-link的嚴(yán)格模式课兄。
方式二:使用路由傳參方式:
在點(diǎn)擊a標(biāo)簽的時(shí)候,就將遍歷的索引值傳遞過(guò)去晨继,通過(guò)索引值來(lái)辨別每個(gè)頁(yè)面烟阐,即使刷新頁(yè)面,標(biāo)記還在紊扬,不會(huì)回到初始值蜒茄。
方式三:通過(guò)vuex實(shí)現(xiàn):
1、安裝vuex:cnpm install vuex --save
2餐屎、在src目錄下創(chuàng)建store文件夾
3檀葛、在main.js文件中引入store文件:
import store from‘./store’
new Vue({store })
4、在store文件夾中創(chuàng)建index.js文件腹缩,在文件中引入vuex:
5屿聋、在isShow.js中設(shè)定vuex的狀態(tài)(State、Getter藏鹊、Mutation润讥、Action)。在State中定義需要使用的參數(shù)并設(shè)定初始值伙判,getter的返回值會(huì)根據(jù)它的依賴被緩存起來(lái)象对,且只有當(dāng)它的依賴值發(fā)生了改變才會(huì)被重新計(jì)算,更改Vuex的store中的狀態(tài)的唯一方法是提交mutation宴抚,Action類似于mutation,不同在于Action提交的是mutation甫煞,而不是直接變更狀態(tài)菇曲。我們可以通過(guò)this.$store.commit(mutation類型,{state中定義的參數(shù):需要改變的值})來(lái)改變參數(shù)值抚吠。