目錄結構:
公共組件-輪播圖
login/index.vue
1 <template> 2 <div class='Imgroll'> 3 <el-carousel indicator-position="outside"> 4 <el-carousel-item v-for="(item,index) in imgUrls" :key="index"> 5 <img class="img" ref='img' :src="item.imageUrl" /> 6 </el-carousel-item> 7 </el-carousel> 8 </div> 9 </template> 10 <script> 11 export default { 12 name: 'Logins', 13 data(){ 14 return{ 15 imgUrls:[] 16 } 17 }, 18 mounted(){ 19 this.getImages(); 20 }, 21 methods:{ 22 getImages() { 23 this.getImgUrl().then(res => { 24 this.imgUrls = res 25 }) 26 }, 27 28 // 數據請求服務,一般是返回的一個promise對象, 是一個異步處理的解決方案, 29 getImgUrl(){ 30 return new Promise((resolve,reject) => { 31 setTimeout(() => { 32 const data = []; 33 //遍歷圖片 34 for (let index = 1; index < 4; index++) { 35 const obj = {}; 36 //對圖片名如果小於十就在前面加一個0 37 if (index < 10) { 38 index = '0' + index 39 } 40 obj.imageUrl = require(`../../../assets/img/tabbar/${index}.png`) 41 data.push(obj) 42 } 43 resolve(data); 44 reject(); 45 }, 100); 46 }) 47 } 48 }, 49 } 50 </script> 51 <style scoped> 52 .img{ 53 width:100%; 54 55 } 56 </style>>
content/index.vue
輪播在上
1 <template> 2 <div class="ces"> 3 <Login /> #將引入的輪播組件在頁面中進行引用,如果在<router-view/>上方則頁面展示時輪播組件在上,反之則在下 4 <router-view/> #將需要本頁面(輪播)的內容進行路由掛載,並且需要在router/index.js中配置(Content組件)的路由這個<router-view/>為后續需要展示(輪播)組件的頁面占個位置 5 </div> 6 </template> 7 8 <script> 9 import Login from './login/index' #-------將login/index.vue作為組件進行導入 10 export default { 11 name: 'Content', #-------content/index.vue本頁面組件名稱為Content 12 components: { 13 Login #-------將login/index.vue導入的組件進行注冊
14 } 15 } 16 </script> 17 18 <style> 19 </style>
輪播在下
1 <template> 2 <div class="ces"> 3 <router-view /> 4 <Login/> 5 </div> 6 </template> 7 8 <script> 9 import Login from './login/index' 10 export default { 11 name: 'Content', 12 components: { 13 Login 14 } 15 } 16 </script> 17 18 <style> 19 </style>
router/index.js
路由配置
路由引入:
1 import Vue from 'vue' 2 import Router from 'vue-router' 3 import Footer from '../components/Footer.vue'; #-----正常加載路由 4 const Content =()=> import('../components/content'); #-------懶加載路由,將整個輪播組件作為一個整體導入
路由配置:
1 { 2 path:'/content/', 3 name:'Content', 4 component:Content, 5 children:[ #---------當路由為http://localhost:8080/content/footer時頁面顯示為content組件(輪播)+footer組件的內容 6 { 7 path:'footer', #-------當路由為http://localhost:8080/footer時頁面只展示footer組件的內容
8 name:'Footer',
9 component:Footer 10 },
11 {
12 path: 'layout',
13 name:'Layout',
14 component:Layout
15 },
16 ]
17 },