精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在 Vue.js 中使用嵌套路由

開發 前端
嵌套路由允許更復雜的用戶界面以及相互嵌套的組件。讓我們創建一個相對簡單的用例,來展示 Vue Router 中嵌套路由的實用性。

隨著 Vue.js 單頁應用(SPA)變得相當復雜,你開始需要 Vue 路由以及嵌套路由。嵌套路由允許更復雜的用戶界面以及相互嵌套的組件。讓我們創建一個相對簡單的用例,來展示 Vue Router 中嵌套路由的實用性。

用 Vue CLI 進行設置

如果尚未安裝,請運行以下命令全局安裝 Vue CLI:

  1. $ npm install -g @vue/cli 

或者

  1. $ yarn global add @vue/cli 

現在你能從命令行運行 vue 命令了。讓我們創建一個名為 alligator-nest 的 Vue 應用:

  1. $ vue create alligator-nest 

在提示符下選擇默認預設(按 Enter 鍵)。之后,運行以下命令:

  1. $ npm install vue-router 

然后,在你選擇的編輯器中打開 alligator-nest 目錄。

基本代碼

以下 CSS 將幫助我們為 UI 定位元素。將其作為樣式表文件添加到 public/ 文件夾中,并在 public/index.html 中引用它。為此,我們將使用 CSS grid:

grid.css:

  1. .row1 { 
  2.   grid-row-start: 1; 
  3.   grid-row-end: 2; 
  4.  
  5. .row12 { 
  6.   grid-row-start: 1; 
  7.   grid-row-end: 3; 
  8.  
  9. .row123 { 
  10.   grid-row-start: 1; 
  11.   grid-row-end: 4; 
  12.  
  13. .row2 { 
  14.   grid-row-start: 2; 
  15.   grid-row-end: 3; 
  16.  
  17. .row23 { 
  18.   grid-row-start: 2; 
  19.   grid-row-end: 4; 
  20.  
  21. .row3 { 
  22.   grid-row-start: 3; 
  23.   grid-row-end: 4; 
  24.  
  25. .col1 { 
  26.   grid-column-start: 1; 
  27.   grid-column-end: 2; 
  28.  
  29. .col12 { 
  30.   grid-column-start: 1; 
  31.   grid-column-end: 3; 
  32.  
  33. .col123 { 
  34.   grid-column-start: 1; 
  35.   grid-column-end: 4; 
  36.  
  37. .col1234 { 
  38.   grid-column-start: 1; 
  39.   grid-column-end: 5; 
  40.  
  41. .col2 { 
  42.   grid-column-start: 2; 
  43.   grid-column-end: 3; 
  44.  
  45. .col23 { 
  46.   grid-column-start: 2; 
  47.   grid-column-end: 4; 
  48.  
  49. .col234 { 
  50.   grid-column-start: 2; 
  51.   grid-column-end: 5; 
  52.  
  53. .col3 { 
  54.   grid-column-start: 3; 
  55.   grid-column-end: 4; 
  56.  
  57. .col34 { 
  58.   grid-column-start: 3; 
  59.   grid-column-end: 5; 
  60.  
  61. .col4 { 
  62.   grid-column-start: 4; 
  63.   grid-column-end: 5; 

接下來,讓我們對 vue-cli 添加的默認文件進行一些更改。

從 src/components 文件夾中刪除 HelloWorld.vue,并從 src/App.vue 中刪除所有與其相關的東西。對 App.vue 中的 HTML 標記和 CSS 樣式進行以下修改。

  1. <template> 
  2.   <div id="app"> 
  3.     <h1 class="row1 col12">Alligator Nest</h1> 
  4.     <a class="row1 col3">Travels</a> 
  5.     <a class="row1 col4">About</a> 
  6.     <div class="row2 col234"></div> 
  7.   </div> 
  8. </template> 
  9. html, body { 
  10.   height: 100vh; 
  11.   width: 100vw; 
  12.   padding: 0; 
  13.   margin: 0; 
  14.  
  15. #app { 
  16.   font-family: Avenir, Helvetica, Arial, sans-serif; 
  17.   -webkit-font-smoothing: antialiased; 
  18.   -moz-osx-font-smoothing: grayscale; 
  19.   color: #2c3e50; 
  20.   padding: 2%; 
  21.   height: 100%; 
  22.   display: grid; 
  23.   grid-template-rows: 20% 80%; 
  24.   grid-template-columns: 25% 25% 25% 25%; 

 

如果你在項目的根目錄中運行 npm run serve,則可以將鼠標懸停在瀏覽器中的 localhost:8080 上,并查看框架布局。那些 display:grid 屬性很有用!現在我們可以開始創建路由了。

輸入 Vue 路由

在 /components 文件夾中創建一個名為 AboutPage.vue 的組件。它看起來像這樣:

  1. <template> 
  2.   <div> 
  3.     <h2>About</h2> 
  4.     <p>Alligators were around during the time of the dinosaurs.</p> 
  5.   </div> 
  6. </template> 
  7.  
  8. <script> 
  9.   export default { 
  10.     name: 'AboutPage', 
  11.   } 
  12. </script> 
  13.  
  14. <style scoped> 
  15.    
  16. </style> 

 

現在我們的 main.js 文件需要 /about 路由。它看起來像這樣。

  1. import VueRouter from 'vue-router'; 
  2. import Vue from 'vue'; 
  3. import App from './App.vue'; 
  4.  
  5. Vue.config.productionTip = false
  6.  
  7. import VueRouter from 'vue-router'; 
  8. Vue.use(VueRouter); 
  9.  
  10. import AboutPage from './components/AboutPage.vue'; 
  11.  
  12. const routes = [ 
  13.   { path: '/about', component: AboutPage }, 
  14.  
  15. const router = new VueRouter({ 
  16.   routes 
  17. }) 
  18.  
  19. new Vue({ 
  20.   render: h => h(App), 
  21.   router 
  22. }).$mount('#app'); 

最后,讓我們回到 App.vue,并將 “About” 的錨標記更改為屬性為 to="/about"的 標簽。然后,將第二個 div 更改為 標簽。確保保持網格定位類屬性不變。

現在,我們有了一個功能齊全的站點框架,并為 “About” 頁面處理了路由。

我們在此重點介紹路由功能,因此不會在樣式上話費太多時間。盡管如此,我們也要讓Travels 頁面看起來更精致一些。

首先,創建一個 TravelPage,方法與創建 AboutPage 相同。在 main.js 中引用它。

還需要創建以下兩個組件,這些組件最終將嵌套在 TravelPage.vue 中:

TravelAmericaPage.vue

  1. <template> 
  2.   <div> 
  3.     <p>Alligators can be found in the American states of Louisiana and Florida.</p> 
  4.   </div> 
  5. </template> 
  6.  
  7. <script> 
  8.   export default { 
  9.     name: 'TravelAmericaPage' 
  10.   } 
  11. </script> 
  12.  
  13. <style scoped> 
  14. </style> 

 

TravelChinaPage.vue

  1. <template> 
  2.   <div> 
  3.     <p>Alligators can be found in China's Yangtze River Valley.</p> 
  4.   </div> 
  5. </template> 
  6.  
  7. <script> 
  8.   export default { 
  9.     name: 'TravelChinaPage' 
  10.   } 
  11. </script> 
  12.  
  13. <style scoped> 
  14.  
  15. </style> 

 

配置嵌套路由

現在,讓我們同時更新 main.js 和 TravelPage.vue,以使用 children 來引用這些嵌套路由。必須將 main.js 更新為對 routes 常量具有以下定義:

  1. const routes = [ 
  2.   { 
  3.     path: '/travel', component: TravelPage, 
  4.     children: [ 
  5.       { path: '/travel/america', component: TravelAmericaPage }, 
  6.       { path: '/travel/china', component: TravelChinaPage} 
  7.     ] 
  8.   }, 
  9.   { 
  10.     path: '/about', component: AboutPage 
  11.   } 
  12. ]; 

請注意,子級的嵌套可以無限繼續下去。

并且 TravelPage.vue 可以通過以下方式編寫:

TravelPage.vue:

  1. <template> 
  2.   <div id="travel"> 
  3.     <h2 class="row1">Travels</h2> 
  4.     <div class="flex-container row2"> 
  5.       <router-link to="/travel/america">America</router-link> 
  6.       <router-link to="/travel/china">China</router-link> 
  7.     </div> 
  8.     <router-view class="row3"></router-view> 
  9.   </div> 
  10. </template> 
  11.  
  12. <script> 
  13.   export default { 
  14.     name: 'TravelPage' 
  15.   } 
  16. </script> 
  17.  
  18. <style scoped> 
  19. div { 
  20.   text-align: center; 
  21.  
  22. #travel { 
  23.   display: grid; 
  24.   grid-template-rows: 20% 40% 40%; 
  25.  
  26. .flex-container { 
  27.   display: flex; 
  28.   justify-content: space-around; 
  29. </style> 

檢出 localhost:8080,你將看到 Travels 頁面中包含 2 個子頁面!當你單擊任一鏈接時,我們的 URL 也會相應更新。

總結

希望本教程對你了解如何使用嵌套路由有幫助!

關于該主題的其他注意事項——我們可以使用動態段定義路由,例如 path:'/location/:id'。然后在這些路由的視圖上,可以將該 id 引用為 this.$route.params。當你希望在網站和應用上顯示更多特定類型的數據(用戶、圖片等)時,此功能非常有用。

 

責任編輯:趙寧寧 來源: 前端先鋒
相關推薦

2017-07-14 10:10:08

Vue.jsMixin

2023-07-28 13:55:40

便捷選項組件

2021-08-11 07:22:27

Vue 技巧 開發工具

2019-07-26 14:40:58

Vue.jsSocket.IO前端

2021-05-08 06:14:28

Vue.js片段開發

2018-04-04 10:32:13

前端JavascriptVue.js

2016-11-04 19:58:39

vue.js

2017-07-04 17:55:37

Vue.js插件開發

2017-07-20 11:18:22

Vue.jsMVVMMVC

2017-07-11 18:00:21

vue.js數據組件

2024-05-13 08:04:26

Vue.jsWeb應用程序

2022-01-19 22:18:56

Vue.jsVue SPA開發

2023-10-19 13:56:00

Vue項目Mock.js

2021-01-22 11:47:27

Vue.js響應式代碼

2020-09-07 14:40:20

Vue.js構建工具前端

2016-11-01 19:10:33

vue.js前端前端框架

2016-09-21 13:32:13

JavascriptWeb前端

2020-09-16 06:12:30

Vue.js 3.0Suspense組件前端

2023-03-16 14:29:48

Vue.js測試

2024-01-18 11:50:28

點贊
收藏

51CTO技術棧公眾號

91手机在线视频| 欧美日韩国产综合一区二区三区| 99国产高清| 毛片aaaaa| 免费高清视频在线一区| 欧美国产精品一区| 国产日韩欧美在线看| 日本二区三区视频| 国产一区精品二区| 亚洲一区二区欧美激情| 国产福利一区二区三区在线观看| 久久久久亚洲AV| 国产精品xxx在线观看| 欧美日韩激情视频8区| 牛人盗摄一区二区三区视频| 91porny九色| 99成人在线视频| 欧美成人乱码一区二区三区| 97国产精东麻豆人妻电影| 成人在线免费看| 国产一二三精品| 国内精品中文字幕| 中国av免费看| 亚洲国产一区二区三区高清 | 日本人69视频| 超碰免费公开在线| 不卡视频一二三| 国产精品一区二区3区| 性一交一乱一伧国产女士spa| 天天插天天干天天操| 夜夜精品视频| 日韩在线播放av| 黄色在线免费播放| 91伊人久久| 日韩av懂色| 亚洲国产精品欧美一二99| 亚洲成色www久久网站| 农村少妇久久久久久久| 黄页视频在线91| 国产成人综合av| 日日夜夜综合网| 亚洲激情社区| jizz18欧美18| 欧美日韩亚洲国产精品| 亚洲欧美视频在线| 秘密基地免费观看完整版中文 | 成年人网站大全| 黄污视频在线观看| 自拍偷拍欧美精品| 一区二区三区视频| 香港伦理在线| 国产精品嫩草99a| 亚洲ai欧洲av| 成a人v在线播放| 久久精品视频网| 欧美精品在线一区| 免费人成黄页在线观看忧物| 91蜜桃免费观看视频| 精品欧美一区二区精品久久| 香蕉视频网站在线| 91网站在线观看视频| 亚洲黄色片在线观看| 国产99久久久欧美黑人| 少妇太紧太爽又黄又硬又爽| 亚洲三级影院| 欧美孕妇与黑人孕交| www.伊人久久| 日韩和欧美一区二区| 国产精品第一视频| 亚洲香蕉在线视频| 久久99久久精品| 91蜜桃网站免费观看| 亚洲成人黄色片| 成人黄色在线看| 蜜桃av久久久亚洲精品| 亚洲一区二区三区久久| 亚洲伦理一区二区三区| 一区二区日韩欧美| 欧美激情视频一区二区三区不卡| 日本在线观看中文字幕| 久色成人在线| 成人精品一区二区三区| 亚洲精品国产片| 91玉足脚交白嫩脚丫在线播放| 久久久久久精| 成年人在线免费观看| 国产精品麻豆一区二区| 午夜久久久久久久久久久| 爱福利在线视频| 色综合久久久久久久久| 午夜免费高清视频| 亚洲精品国产九九九| 日韩精品久久久久| 男人天堂资源网| 一区在线播放| 国产精品免费久久久久久| 久久出品必属精品| 亚洲一级在线播放| 国产福利一区在线观看| 久久亚洲免费| 国内外激情在线| 狠狠色噜噜狠狠狠狠97| 亚洲黄色av片| 日韩欧美黄色| 久久中文久久字幕| 欧美一区二区三区久久久| 激情综合五月婷婷| 久久精品五月婷婷| 黄色网址免费在线观看| 精品人伦一区二区三区蜜桃网站| 国产区二区三区| 日韩av字幕| 久久亚洲综合国产精品99麻豆精品福利| 国产在线一二区| 麻豆91在线观看| 美女一区视频| 久久www人成免费看片中文| 欧美在线免费观看视频| 精品国产免费久久久久久婷婷| 精品久久中文| 国内精品视频久久| 国产麻豆91视频| 久久精品一级爱片| 欧美一级片免费播放| 91九色成人| 在线日韩欧美视频| 全部毛片永久免费看| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩精品久久| 九色porny丨首页入口在线| 欧美一二三在线| 国产福利在线导航| 丝袜a∨在线一区二区三区不卡| 国产视频不卡| 极品尤物一区二区三区| 手机看片福利在线| 一区二区成人在线| 爽爽爽在线观看| 日韩片欧美片| 国产成人精品午夜| 欧美在线观看在线观看| 婷婷成人激情在线网| 丰满少妇xbxb毛片日本| 中文精品久久| 亚洲xxxx18| 麻豆视频在线| 欧美日韩一区二区三区高清| 无码人妻aⅴ一区二区三区69岛| 亚洲精品日本| 99三级在线| 久久久成人精品一区二区三区| 日本大胆在线观看| 日韩一区二区精品葵司在线| 女人18毛片毛片毛片毛片区二| 麻豆91精品视频| 国产美女视频免费| 精品一区二区三区视频在线播放| 久久这里只有精品视频首页| 国产高潮流白浆喷水视频| 亚洲六月丁香色婷婷综合久久 | 蜜臀91精品一区二区三区| 欧美综合激情| 欧美日韩视频网站| 伊人青青综合网站| 国产一区二区三区成人| 亚洲免费观看高清| 69xxx免费视频| 宅男噜噜噜66国产日韩在线观看| 另类视频在线观看+1080p| 亚洲成人不卡| 日韩在线观看免费高清| 国产色在线视频| 亚洲一区二区美女| 好吊一区二区三区视频| 视频一区国产视频| 亚洲自拍的二区三区| 免费一区二区三区在线视频| 欧美精品18videos性欧| 日韩有码电影| 欧美日韩久久久久久| 久久久久亚洲AV成人| 99r国产精品| 羞羞的视频在线| 国产一区日韩欧美| 欧美精品一区二区三区在线四季| 成人mm视频在线观看| 欧美猛交ⅹxxx乱大交视频| 亚洲 欧美 激情 另类| 欧美性猛片xxxx免费看久爱| 日韩黄色免费观看| 久久伊人蜜桃av一区二区| 色一情一区二区| 亚洲国产激情| 视频一区二区三区免费观看| 亚洲视频一起| 国产精品高清网站| 狂野欧美性猛交xxxxx视频| 亚洲欧美第一页| 国产av精国产传媒| 欧美性猛xxx| 手机在线中文字幕| 99久久er热在这里只有精品15 | 成人免费不卡视频| 久久久久免费精品| 韩日精品视频| 色一情一乱一伦一区二区三欧美| 亚洲精品一二三**| 国产精品久久久久久久久影视 | 国产不卡精品视男人的天堂| 亚洲卡一卡二| 中文字幕国产日韩| 亚洲色图狠狠干| 日韩欧美一二区| 最近中文字幕免费在线观看| 精品久久久久久中文字幕大豆网 | 亚洲国产一二三| 亚洲欧美综合7777色婷婷| 91在线视频播放| 性生活在线视频| 老司机午夜精品| 免费欧美一级视频| 欧美日韩三区| 午夜久久久久久久久久久| 成人免费a**址| 久久精品国产美女| 综合成人在线| 97av自拍| 精品一区二区三区在线观看视频| 日本国产精品视频| 国产精品25p| 欧美国产日韩一区二区三区| 成人片在线看| 久久视频免费观看| 在线a人片免费观看视频| 亚洲性线免费观看视频成熟| 少妇无码一区二区三区| 欧美一级黄色大片| 国产片高清在线观看| 一区二区毛片| 粗暴蹂躏中文一区二区三区| 国产中文在线| 国产午夜精品全部视频在线播放| 青青久在线视频免费观看| 亚洲黄色av网站| 色欲av永久无码精品无码蜜桃| 日韩女优视频免费观看| 99久久一区二区| 91麻豆精品国产91久久久资源速度 | 韩国三级在线看| 国产黄色精品网站| 手机看片久久久| 国产成人亚洲综合a∨婷婷| 红桃视频 国产| 狠狠色丁香婷综合久久| 亚洲天堂2018av| 精品一区二区三区av| 男人添女人下面免费视频| 蜜臀久久久99精品久久久久久| 男女污污的视频| 久久精品国产精品亚洲红杏| jizz大全欧美jizzcom| 热久久国产精品| 在线观看免费污视频| 久久国产夜色精品鲁鲁99| 久久久久久久久久一区二区| 国产一区视频导航| 中文字幕一二三区| 成人sese在线| 午夜理伦三级做爰电影| 国产网站一区二区三区| 五月婷婷婷婷婷| 亚洲精品综合在线| 在线观看亚洲欧美| 日本韩国欧美一区二区三区| 高潮无码精品色欲av午夜福利| 欧美另类z0zxhd电影| 精品国产无码一区二区| 精品视频一区在线视频| se在线电影| 欧美成人自拍视频| 黄色视屏在线免费观看| 国产精品久久久久久亚洲影视| 青青青国产精品| 国产精品久久久久久久久久久久午夜片| 五月综合久久| www.午夜色| 亚洲日本黄色| 污片在线免费看| 国产1区2区3区精品美女| 99久久国产精| 亚洲欧美一区二区久久| 天堂网av手机版| 在线播放国产精品二区一二区四区| 亚洲欧美另类一区| 国产亚洲精品综合一区91| 99在线视频观看| 日韩免费av片在线观看| 久草视频免费在线| 欧美日本国产| 日日摸日日碰夜夜爽av| 激情六月婷婷久久| 欧美一区二区三区成人精品| 亚洲欧美区自拍先锋| 中文字幕一区在线播放| 欧美一区二区高清| 黄色电影免费在线看| 久久久久久成人| 免费成人毛片| 欧美重口乱码一区二区| 国内精品嫩模av私拍在线观看| 可以免费在线看黄的网站| 粉嫩久久99精品久久久久久夜| 中文字幕伦理片| 午夜成人免费视频| 国产男女无套免费网站| 国产一区二区三区日韩欧美| √最新版天堂资源网在线| 成人观看高清在线观看免费| 国产精品三级| 久久精品免费一区二区| 成人综合在线视频| 国产97免费视频| 欧美片网站yy| 国产小视频福利在线| 国内精品久久久久影院优| 免费精品一区| 国产四区在线观看| 秋霞电影网一区二区| 动漫精品一区二区三区| 亚洲电影激情视频网站| 99久久久久成人国产免费| 日韩在线视频线视频免费网站| 日日av拍夜夜添久久免费| 久久久综合香蕉尹人综合网| 国内自拍一区| 超级砰砰砰97免费观看最新一期 | 国产精成人品localhost| 久久人人99| 九色porny91| 久久久久综合网| 丁香六月婷婷综合| 日韩精品免费综合视频在线播放| 大香伊人久久| 国产伦精品一区二区三区免费视频| 综合久久婷婷| 国产老头和老头xxxx×| 伊人开心综合网| 超碰在线人人干| 欧美大片免费观看| 在线精品自拍| av女优在线播放| 波多野结衣中文字幕一区| 日韩视频免费观看高清| 亚洲经典中文字幕| freexxx性亚洲精品| 九九99玖玖| 久久人人精品| 中文字幕黄色网址| 欧美日韩电影在线播放| 国产黄色在线观看| 超碰97国产在线| 一本色道88久久加勒比精品| 日本xxx在线播放| 91福利社在线观看| 日韩精品视频一二三| 蜜臀久久久久久久| 韩国一级黄色录像| 日韩欧美在线影院| 超黄网站在线观看| 久久精品丝袜高跟鞋| 日韩av高清在线观看| 登山的目的在线| 欧美sm美女调教| 性孕妇free特大另类| 色综合久久久久久久久五月| 另类调教123区| 久久久久久久久99| 亚洲免费人成在线视频观看| 99精品在免费线偷拍| 四虎永久免费网站| www.亚洲精品| 无码久久精品国产亚洲av影片| 精品国产一区二区三区久久狼黑人| 另类视频一区二区三区| 久久精品免费一区二区| 国产精品丝袜在线| 国产高清免费观看| 66m—66摸成人免费视频| 成人情趣视频网站| www.美色吧.com| 亚洲国产美女搞黄色| 国产一二三区在线| 亚洲综合日韩在线| 久久久国产精品一区二区中文| 波兰性xxxxx极品hd| 亚洲成色777777女色窝| 国产91在线精品| 鲁一鲁一鲁一鲁一色| 亚洲人妖av一区二区| 午夜小视频在线播放|