好比使用多视图,能够将网站页面封装header、footer、navbar等多个公共部分, 遇到修改公共部分的文案信息等数据的时候,再也不须要逐一修改每一个页面;只须要修改各个不一样文件引用的惟一对应的视图文件便可完成全部效果的自动更新, 更便捷,更省时,更省力地去管理网站的不一样版块。 ---------------------
总结说明:
1.之前能够一次性放一个坑对应一个路由和显示一个组件
a. 一次行为 = 一个坑 + 一个路由 + 一个组件
b. 一次行为 = 多个坑 + 一个路由 + 多个组件
2.components多视图 是一个对象,对象内多个key和value
a. key对应视图的name属性
b. value就是要显示的组件对象
3.多个视图(name属性省略与否)
省略: <router-view></router-view> —— name就是default
不省略: <router-view name='xxx'></router-view> —— name就是xxx
--------------------- vue
import Vue from 'vue'; import VueRouter from 'vue-router'; //引入主体(页面初始化显示) import App from './components/app.vue'; //一个个link对象 - 分类 import Header from './components/header.vue'; import Footer from './components/footer.vue'; /* //注册全局头部、底部组件 Vue.component('headerVue',Header); Vue.component('footerVue',Footer); */ //安装插件 Vue.use(VueRouter);//挂载属性 //建立路由对象并配置路由规则 let router = new VueRouter({ //routes routes: [ //一个个link对象 { path: '/', components: { // key => value header: Header, default: Footer, //默认省略不写name的状况 footer: Footer } } ] }); // new Vue 启动 new Vue({ el: '#app', render: c => c(App), //让vue知道咱们的路由规则 router:router,//能够简写为router }) ---------------------
<template> <div> <header-vue></header-vue> <hr /> <!--留坑,很是重要--> <router-view class="main" name="header"></router-view> <router-view class="main"></router-view><!--name省略表示name='default'--> <router-view class="main" name="footer"></router-view> <hr /> <footer-vue></footer-vue> </div> </template> <script> export default { data(){ return{ } }, methods:{ } } </script> <style scoped> .main{height: 100px;} </style> ---------------------
<template> <div> 我是头部 </div> </template> <script> export default{ data(){ return{ } }, methods:{ } } </script> <style scoped> </style> ---------------------
<template> <div> 我是底部 </div> </template> <script> export default { data(){ return{ } }, methods:{ } } </script> <style scoped> </style> ---------------------