vue-部分導航欄在頁面公共出現或者單獨出現的處理方法


目錄結構:

公共組件-輪播圖

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 },

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM