vue-cli 默認(rèn)路由再子路由選中下的選中狀態(tài)問題及解決代碼
vue-cli是Vue.js官方腳手架命令行工具,我們可以用它快速搭建Vue.js項(xiàng)目,vue-cli最主要的功能就是初始化項(xiàng)目,既可以使用官方模板,也可以使用自定義模板生成項(xiàng)目,而且從2.8.0版本開始,vue-cli新增了build命令,能讓你零配置啟動(dòng)一個(gè)Vue.js應(yīng)用。
因項(xiàng)目需求,需要在默認(rèn)路由下面的兩個(gè)子路由進(jìn)行切換,當(dāng)開始以為不就是路由切換?so easy!就看一下遇到的問題吧!
{path: '/',component: resolve => require(['@/components/LiveList'],resolve), children:[ { path:'', name:'livelist', meta:{title:'',index:0}, component: resolve => require(['@/components/compts/livelistcom'],resolve) },{ path:'livenew', name:'livenew', meta:{title:'',index:1}, component: resolve => require(['@/components/compts/livelistnew'],resolve) }] }, { path:'/user', name:'user', meta:{title:'用戶',index:4}, component: resolve => require(['@/components/user'],resolve) },
這路由一看沒問題吧!
<router-link to="/"><p>首頁</p></router-link>//這是底部的切換路由 //下面兩個(gè)便是首頁下面的兩個(gè)子路由的跳轉(zhuǎn)了 <li><router-link to="/">熱門</router-link></li> <li><router-link to="/livenew">最新</router-link></li>
看到上面的代碼是不是沒有發(fā)現(xiàn)錯(cuò)誤?其實(shí)也的確可以運(yùn)行!而且兩個(gè)子路由切換關(guān)于首頁的狀態(tài)也是沒有問題的!
但是當(dāng)我切換user路由的時(shí)候發(fā)現(xiàn),首頁路由的狀態(tài)依舊是選中狀態(tài) ,這個(gè)讓我很納悶,按理說user路由跟首頁的路由是同級(jí),不出出現(xiàn)這樣的問題。既然出現(xiàn)了,為了工作,只能迎難而上,去解決這個(gè)問題。
在經(jīng)過我仔細(xì)的查找文檔,終于想到了一種解決方案:在官方文檔里面有一個(gè) redirect (重定向) router.vuejs.org/zh/guide/es… 點(diǎn)擊鏈接可以查看官方文檔
既然可以重定向那我就試一下這種來解決(畢竟上面的代碼和邏輯事再想不出是什么地方出的錯(cuò)誤,還望大神指點(diǎn)一二?。。?
廢話不多說,直接先解決后的代碼:
{path:'',redirect: '/index'}, {path: '/index',component: resolve => require(['@/components/LiveList'],resolve), children:[ {path:'',redirect:'livelist'}, { path:'livelist', name:'livelist', meta:{title:'',index:0}, component: resolve => require(['@/components/compts/livelistcom'],resolve) },{ path:'livenew', name:'livenew', meta:{title:'',index:1}, component: resolve => require(['@/components/compts/livelistnew'],resolve) }] }, { path:'/user', name:'user', meta:{title:'用戶',index:4}, component: resolve => require(['@/components/user'],resolve) }
而關(guān)于路由的跳轉(zhuǎn)也有一些小變化:
<router-link to="/index"><p>首頁</p></router-link>//這里依舊是底部導(dǎo)航 //這里便是首頁的兩個(gè)子路由的跳轉(zhuǎn)按鈕了 <li><router-link to="/index/livelist">熱門</router-link></li> <li><router-link to="/index/livenew">最新</router-link></li>
構(gòu)思 :用重定向,規(guī)定默認(rèn)路由跳轉(zhuǎn)到上面 /index 下面默認(rèn)的子路由,再由默認(rèn)的子路由去定向到子路由的 livelist 。(這是在解決問題的時(shí)候發(fā)現(xiàn),非默認(rèn)路由下,子路由切換不會(huì)造成默認(rèn)路由選中不取消的問題,而默認(rèn)路由一直會(huì)存在一個(gè) router-link-active
的類名,我的選中樣式也是基于它的 )
關(guān)于選中時(shí)自定義自己的樣式可以操作.router-link-active
這個(gè)類,而默認(rèn)路由一直存在這個(gè)類,如果沒有子路由,或者子路由選中不需要顯示父路由也為選中狀態(tài)的情況下,你可以操作.router-link-exact-active
這個(gè)類來寫自己的選中樣式。
總結(jié)
以上所述是小編給大家介紹的vue-cli 默認(rèn)路由再子路由選中下的選中狀態(tài)問題及解決代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 在vue-cli腳手架中配置一個(gè)vue-router前端路由
- VUE : vue-cli中去掉路由中的井號(hào)#操作
- 搭建Vue從Vue-cli到router路由護(hù)衛(wèi)的實(shí)現(xiàn)
- Vue-CLI項(xiàng)目中路由傳參的方式詳解
- 基于vue-cli 路由 實(shí)現(xiàn)類似tab切換效果(vue 2.0)
- vue-cli實(shí)現(xiàn)多頁面多路由的示例代碼
- 詳解在vue-cli中使用路由
- 詳解windows下vue-cli及webpack 構(gòu)建網(wǎng)站(四) 路由vue-router的使用
- 深入理解Vue-cli4路由配置
相關(guān)文章
Vue-Cli中自定義過濾器的實(shí)現(xiàn)代碼
本篇文章主要介紹了Vue-Cli中自定義過濾器的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08Vue中實(shí)現(xiàn)路由跳轉(zhuǎn)傳參的4種方式
本文詳盡的講了在Vue項(xiàng)目中,如何實(shí)現(xiàn)路由跳轉(zhuǎn)傳參的4四種方式(2大路由跳轉(zhuǎn)方式,每種方式包括4種路由傳參實(shí)現(xiàn)形式),以及每種方式中實(shí)現(xiàn)路由跳轉(zhuǎn)包括路由傳參的方法的各種寫法,需要的朋友可以參考下2024-04-04Vue 子組件與數(shù)據(jù)傳遞問題及注意事項(xiàng)
這篇文章主要介紹了Vue子組件與數(shù)據(jù)傳遞問題及需要注意事項(xiàng),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07element?table?表格控件實(shí)現(xiàn)單選功能
本文主要介紹了element?table?表格控件實(shí)現(xiàn)單選功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07vue項(xiàng)目打包之后接口出現(xiàn)錯(cuò)誤的問題及解決
這篇文章主要介紹了vue項(xiàng)目打包之后接口出現(xiàn)錯(cuò)誤的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04前端框架學(xué)習(xí)總結(jié)之Angular、React與Vue的比較詳解
這篇文章主要跟大家分享了關(guān)于前端框架中Angular.js、React.js與Vue.js的全方位比較,文章介紹的非常詳細(xì),對(duì)大家進(jìn)行區(qū)分對(duì)比這三者之間的差異區(qū)別很有幫助,需要的朋友可以參考借鑒,下面來一起看看吧。2017-03-03利用Vue的v-for和v-bind實(shí)現(xiàn)列表顏色切換
這篇文章主要介紹了利用Vue的v-for和v-bind實(shí)現(xiàn)列表顏色切換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue vuex vue-rouert后臺(tái)項(xiàng)目——權(quán)限路由(適合初學(xué))
這篇文章主要介紹了vue vuex vue-rouert后臺(tái)項(xiàng)目——權(quán)限路由,通過本文可以很清除的捋清楚vue+vuex+vue-router的關(guān)系,本版本非常簡單,適合初學(xué)者,需要的朋友可以參考下2017-12-12