vue同一個頁面可以有多個router-view
阿新 • • 發佈:2021-06-12
分別給router-view定義一個name,預設顯示的可以不用定義
自己先在components資料夾內寫4個元件,準備放入4個router-viewer標籤,我的分別是
containerLeft.vue containerRight.vue containerTop.vue containerBottom.vueapp.vue
<template> <div id="app"> <!-- <img src="./assets/logo.png"> --> <!-- <container-Left/> --> <router-link to="/HelloWorld" > 222 </router-link> <router-view/> <router-view name="left" class="area left"/> <router-view name="right" class="area right"/> <router-view name="logo" class="area "/> <router-view name="bottom" class="area bottom"/> </div> </template> <script> import containerLeft from'./components/containerLeft.vue' export default { name: 'App', components:{ containerLeft, } } </script> <style> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50;/* margin-top: 60px; */ } .area{ width: 400px; height:400px; border:1px red soild; position: absolute; top:20px; z-index: 1002; } .left{ left:0px; top:100px; } .right{ right: 0px; } .bottom{ top: 90%; width: 100%; height: 30px; } </style>
路由檔案router/index.js 或router.js
核心:
import Vue from 'vue' import Router from'vue-router' import HelloWorld from '@/components/HelloWorld' import Veaflet from '@/components/Veaflet' import containerLeft from '@/components/containerLeft' import containerRight from '@/components/containerRight' import containerTop from '@/components/containerTop' import containerBottom from '@/components/containerBottom' import lefttree from '@/components/lefttree' Vue.use(Router) // 建立一個路由器例項 // 並且配置路由規則 const router = new Router({ routes: [ { path: '/', name: 'Veaflet', meta:{title:'Veaflet'}, components:{ default: Veaflet, left:containerLeft, right:containerRight, logo:containerTop, bottom:containerBottom } }, { path: '/HelloWorld', name: 'HelloWorld', meta:{title:'HelloWorld'}, component: HelloWorld }, { path: '/containerLeft', name: 'containerLeft', meta:{title:'containerLeft'}, component: containerLeft }, { path: '/lefttree', name: 'lefttree', meta:{title:'lefttree'}, component: lefttree } ] }) //修改動態網頁標題 beforeEach 導航鉤子,路由改變前觸發 router.beforeEach((to,from,next) =>{ //window.document.title = to.meta.title; window.document.title = to.name; next(); }) router.afterEach((to,from,next) =>{ window.scrollTo(0,0); }) export default router;
執行效果如圖:
轉 :https://www.cnblogs.com/yingyigongzi/p/10827156.html
參考:https://blog.csdn.net/u011615787/article/details/80075240