您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)vue如何使用vuex實(shí)現(xiàn)首頁導(dǎo)航切換不同路由的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護(hù)性和可測(cè)試性更強(qiáng)的代碼庫,Vue允許可以將一個(gè)網(wǎng)頁分割成可復(fù)用的組件,每個(gè)組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網(wǎng)頁中相應(yīng)的地方,所以越來越多的前端開發(fā)者使用vue。
具體代碼如下所示:
<nav> <!-- 導(dǎo)航欄 --> <div class="indexNavOut"> <div class="indexNav"> <ul class="navLi"> <li @click="checkNav()" ><router-link to="/home">了解海華教育(視頻)</router-link><!--<a href="#">了解海華教育(視頻)</a>--></li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/home','active2':Index=='#/'}"> <router-link to="/home">首頁</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/synopsis'}"><router-link to="/synopsis">學(xué)校簡(jiǎn)介</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/major'}"><router-link to="/major">專業(yè)介紹</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/campus'}"><router-link to="/campus">校園風(fēng)采</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/news'}"><router-link to="/news">新聞資訊</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/enrollment'}"><router-link to="/enrollment">招生信息</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/employment'}"><router-link to="/employment">就業(yè)中心</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/enlist'}"><router-link to="/enlist">在線報(bào)名</router-link> </li> <li @click="checkNav()" v-bind:class="{'active':Index=='#/contact'}"><router-link to="/contact">聯(lián)系我們</router-link> </li> </ul> </div> </div> </nav>
css:
/* 導(dǎo)航欄 */ .indexNavOut{ background-color: #486B8A; height: 60px; } .indexNav{ width: 80%; margin: 0 auto; } .navLi{ display: flex; } .navLi li:nth-child(1){ flex: 1.8; } .navLi li{ flex: 1; } .navLi li a{ text-decoration: none; color: #fff; font-size: 16px; padding-bottom: 17px; } .indexNav .icon{ width: 230px; margin-top: 10px; } .indexNav .icon img{ width: 100%; } .navLi li { height: 60px; line-height: 60px; position: relative; } .navLi li.active a{ border-bottom: 3px solid #E96463; } .navLi li.active2 a{ border-bottom: 3px solid #E96463; } .navLi li:last-child:after{ border-right: none; } .navLi li .line{ width: 20px; height: 3px; background: #E96463; border: none; position: absolute; /*top: -14px;*/ /*right: -32px;*/ left: 50px; top: 45px; z-index: 100; }
js:
main.js代碼:
import Vuex from 'vuex' Vue.use(Vuex); const store = new Vuex.Store({ state: { majorDetail: false, Index: document.location.hash,//導(dǎo)航條跳轉(zhuǎn)路由樣式控制 }, mutations: { //控制專業(yè)介紹詳情顯示隱藏 updatemajorDetail(state, majorDetail) { state.majorDetail = majorDetail; }, updateIndex(state, Index) { state.Index = Index; } } });
效果圖:
現(xiàn)在在這個(gè)頁面里點(diǎn)擊了解更多的時(shí)候跳轉(zhuǎn)到新聞資訊頁面,然后然后state里的值,然后改變當(dāng)前的url以及導(dǎo)航選中新聞資訊。
感謝各位的閱讀!關(guān)于“vue如何使用vuex實(shí)現(xiàn)首頁導(dǎo)航切換不同路由”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。