老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

vue路由如何遍歷生成復數router-link-創新互聯

小編給大家分享一下vue路由如何遍歷生成復數router-link,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創新互聯專注于杞縣企業網站建設,成都響應式網站建設公司,商城網站制作。杞縣網站建設公司,為杞縣等地區提供建站服務。全流程按需設計網站,專業設計,全程項目跟蹤,創新互聯專業和態度為您提供的服務

需求:頂部導航欄控制下方內容欄,實現頁面內切換。

毫無疑問,vue-router很適合這樣的需求,實現起來也并不復雜:

1、main.js:

import VueRouter from 'vue-router'
Vue.use(VueRouter);

2、定義(路由)組件:

import songList from './components/songList.vue'
 
const Bar = { template: '
no.2
' } const Baz = { template: '
no.3
' } const Fun = { template: '
no.4
' }

這里的組件也可以從外部導入,說起來應該是正確的做法,博主為了演示方便才直接寫在里面了...

3、定義路由:

const routes = [
 { path: '/新歌',
 component: songList
 },
 { path: '/排行',
 component: Bar
 },
 { path: '/榜單',
 component: Baz
 },
 { path: '/歌手',
 component: Fun
 },
 { path: '*',
 redirect: '/新歌'
 }
]

注意,最后設置了一個重定向路由,目的是當路徑不屬于以上任意一個時,匹配到‘新歌'頁面;說白了也就是設置初始頁的路由。

4、創建router實例:

const router = new VueRouter({
 routes//等價routes: routes
})

5、創建和掛載根實例:

new Vue({
 router,
 el: '#app',
 render: h => h(App)
})

navBar.vue:

在組件頁面上,按照常理應該分別寫出具體數目的導航標簽,類似下面這樣:

新歌
排行
榜單
歌手

但實際運用上有個小問題,就是像這樣重復樣式的路由入口真的有必要每個都寫一遍么?唯一的區別僅僅是to屬性不同?

萬一今后碰到十幾、二十個怎么辦?

于是換個思路,嘗試遍歷數組來生成復數個路由入口:


 
 {{ bar }}
 

大致如上,title是一個所有名目的數組:[ 新歌,排行,榜單,歌手,... ],Index索引用來綁定key值。現在唯一的問題 就是to也就是路由入口路徑該怎么寫?

由于每個都會渲染成不同出口,所以不能寫成絕對路徑。

方案一:將main.js中的路徑都變成title中的名稱,再在to中用拼接字符串實現動態匹配。

實際操作下來發現并不可取,因為在html中只會識別to=“”中雙引號內的內容,更不能使用‘+'這類js才能識別的拼接符號。

方案二:使用編程式導航,

methods: {
 linkChange: function (bar) {
  this.$router.push({ path: '/'+bar});
 }
 }


 
 {{ bar }}
 

這種方法將路徑寫在methods中就可以使用每次遍歷數組獲得的值,從而實現動態匹配。

為什么要給click事件加上native后綴?

這里是個很典型的router-link的小坑,因為瀏覽器會把router-link渲染成a標簽,那么在router-link上添加的事件都會失效。

解決方案就是加上.native后綴來阻止原生事件。

但這種方式也有個很嚴重的BUG,即在遍歷中使用編程式導航,會導致所有入口響應這個點擊事件!

具體說來就是當用戶點擊某個路由,所有的入口都會被vue識別為選中路由,頁面邏輯可能看不出來,

但只要加個.router-link-active { background: #f4f4f4 }這種vue給當前路由默認添加的class設置一個背景色,就能發現所有路由入口元素

一起變色!

這個bug在不使用遍歷,依次給span設置路由的時候不會出現,具體原因希望有大神可以告知。

所以此方案也只能放棄。

方案三:

在html中綁定to屬性,


 
 {{ bar }}
 

想了太多復雜的方案,反而忽略了最基本的綁定to屬性,

最方便的地方在于,大括號內既可以像我一樣寫完整路徑,也可以直接寫成:to="{ path: bar }",效果是一樣的。

而且相比前面的方法,可以省去額外的點擊事件,利用其本身的路徑特性來完成。

到目前為止,需求可以算是基本完成,但細節還能不能更完美一點呢?

就拿這個例子來說,我們用span標簽包裹了渲染成a標簽的router-link,有時候我們想要選中的標簽字體變成藍色,同時span下面出現藍色邊框,

提高用戶體驗。那么使用.router-link-active改變a標簽顏色是最方便的了,問題是上一級的span該如何添加樣式呢?

似乎不添加額外class或id這種標識是無法實現功能的,但我在vue官網上看到這么一句話:“有時候我們要讓 "激活時的CSS類名" 應用在外層元素,而不是 標簽本身,那么可以用 渲染外層元素,包裹著內層的原生 標簽”。

代碼如下:


  
  {{ bar }}
  
 

使用tag標簽改變其渲染元素,包裹a標簽。如此一來,.router-link-active添加span底邊框,.router-link-active a 來改變字體顏色。

不需要使用額外標記也能完成樣式需求。

以上是“vue路由如何遍歷生成復數router-link”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯成都網站設計公司行業資訊頻道!

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享名稱:vue路由如何遍歷生成復數router-link-創新互聯
當前地址:http://www.xueling.net.cn/article/dhecsg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲精品国久久99热 | 少妇被猛男粗大的猛进出 | 色欲蜜桃AV无码中文字幕 | av2014天堂网 | 国产一级黄色录像片 | 国产一区二区三区在线看麻豆 | 国产精品白浆无码流出免费看 | AV无码久久久久不卡免费网站 | 亚洲情黄网站在线视频 | 激情久久综合网 | 亚洲草逼 | 手机a级毛片免费观看 | 日木AV无码专区亚洲AV毛片 | 掏空网午夜 | 禁漫天堂久久久久久久久久 | VA在线看国产免费 | 九九热国产视频 | 视频一区二区三区国产欧美日韩 | 亚洲AV激情无码专区在线播放 | 国产萌白酱喷水视频在线观看 | 91国自产区一二三区 | 高h视频在线播放 | 久久国产影片 | 午夜精品久久久久久久91蜜桃 | 超高清日韩aⅴ大片美女图片 | 少妇高潮一区二区三区99小说 | 国产精品综合不卡 | 国产精品久久亚洲7777 | 国产超爽超碰人人做wwwcom | 91国语清晰打电话对白 | 日本aaaa级毛片在线看 | 激情综合婷婷丁香五月俺来也 | 成人性色生活片免费看 | 日本乱淫a∨片 | 亚洲风情在线观看 | 日韩中文字幕手机在线 | 特黄色一级片 | 亚洲操操| 久久亚洲色WWW成人 91porny国产 | 成年美女黄网站色大免费视频 | 又大又粗又硬又黄的免费视频 |