vue.js多视图的使用,可以提高网页组件化,模块化

比如使用多视图,可以将网站页面封装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
---------------------

效果图预览:

相关文件代码如下:

1. main.js文件

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

2. app.vue文件

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

3. header.vue文件

<template>
<div>
我是头部
</div>
</template> <script>
export default{
data(){
return{ }
},
methods:{ }
}
</script> <style scoped>
</style> ---------------------

4. footer.vue文件

<template>
<div>
我是底部
</div>
</template> <script>
export default {
data(){
return{ }
},
methods:{ }
}
</script> <style scoped>
</style>
---------------------

vue --- 关于多个router-view视图组件,渲染同一页面的更多相关文章

  1. 小程序之如和使用view内部组件来进行页面的排版功能

    这篇文章主要介绍了关于小程序之如和使用view内部组件来进行页面的排版功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 涉及知识点: 1.垂直排列,水平排列 2.居中对齐 示例: 1 ...

  2. vue动态添加对象属性,视图不渲染

    发现数据确实改变了.但是视图没有渲染.原因是赋值的问题,应该这样动态增加属性 vm.$set(vm.template.titleAttachInfoDetail,newKey,newVal) vm 当 ...

  3. [译]ASP.NET Core 2.0 视图组件

    问题 如何在ASP.NET Core 2.0中使用视图组件? 答案 新建一个空项目,修改Startup类并添加MVC服务和中间件: public void ConfigureServices(ISer ...

  4. 016.NET5_MVC_视图组件扩展定制

    视图组件 1. 呈现页面响应的某一部分而不是整个响应 2. 包括在控制器和视图之间发生的关注分类和可测试优势 3.可以具有参数和业务逻辑 4. 通常在页面局部调用 如何自定义视图组件? 1.Razor ...

  5. 界面编程与视图(View)组件

    一.视图组件与容器组件 Android应用的绝大部分UI组件都放在android.widget包及其子包.android.view包及其子包中,Android应用的所有UI组件都继承了View类. V ...

  6. ASP.NET Core MVC 之视图组件(View Component)

    1.视图组件介绍 视图组件是 ASP.NET Core MVC 的新特性,类似于局部视图,但它更强大.视图组件不使用模型绑定,并且仅依赖于调用它时所提供的数据. 视图组件特点: 呈块状,而不是整个响应 ...

  7. 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(四)Alert View视图 学习笔记

    当我们的应用电量不足的时候,就需要警告提示,那么我们可以用Alert View视图 实现:    

  8. vue构造函数(根实例化时和组件实例对象选项)参数:选项详解

    实例选项(即传给构造函数的options):数据,DOM,生命周期钩子函数,资源,组合,其他 数据 data 属性能够响应数据变化,当这些数据改变时,视图会进行重渲染. 访问方式: 1.通过 vm.$ ...

  9. DRF 视图组件,路由组件

    视图组件  -- 第一次封装   -- GenericAPIView(APIView):    queryset = None    serializer_class = None    def ge ...

  10. Vue04——vue自定义事件、Router、Vue-cli、发布上线

    一.Vue的自定义事件 点击任何一个按钮,按钮本身计数累加,但是每点击三个按钮中的一个,totalCounter 都要累加. <body> <div id="app&quo ...

随机推荐

  1. 使用Micrisoft.net设计方案 第三章Web表示模式

    第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设 ...

  2. the selection cannot be run on any server

    导入war包后运行jsp 显示: the selection cannot be run on any server 问题原因: Dynamic Web Module 的版本与server不匹配.Dy ...

  3. QT与openCV,与PCL结合!

    (1):详解QT多媒体框架:给予视频播放器 原文链接:http://mobile.51cto.com/symbian-271123.htm 对于使用主框架的QT程序,实现Qimage的转换可借鉴下面程 ...

  4. 【技术累积】【点】【java】【9】Optional

    基础概念 java8引入的,java9有加强 Google公司出品 旨在更好的处理NullPointException 创建Optional实例和基础使用 Optional op1 = Optiona ...

  5. html IMG 标签水平居中 ,和图片过大 溢出处理

    max-width: 100%;//父元素的宽度 display: block; margin: 0 auto; display: table-cell; 垂直居中 vertical-align: m ...

  6. 【转载】springboot注解

    https://blog.csdn.net/yitian_66/article/details/80866571 springboot注解:@Service: 注解在类上,表示这是一个业务层bean@ ...

  7. 理解 Javascript 执行上下文和执行栈

    如果你是一名 JavaScript 开发者,或者想要成为一名 JavaScript 开发者,那么你必须知道 JavaScript 程序内部的执行机制.理解执行上下文和执行栈同样有助于理解其他的 Jav ...

  8. 新手学python-Day1-鸡汤,变量,编码,进制,判断

    作业要求为编写一个登录接口:`输入用户名密码`认证成功后显示欢迎信息`输错三次锁定做完作业以后,使用ctrl+alt+f格式化一下,特别舒爽 1 def jilu(str): 2 zt = open( ...

  9. php循环练习题

    1.通过for循环将数组中值求和.求平均值 <?php $num=[1,2,3,4,5,6,7,8,9]; $sum = 0; for ($i=0,$n=count($num); $i < ...

  10. 洛谷 1119 灾后重建 Floyd

    比较有趣的Floyd,刚开始还真没看出来....(下午脑子不太清醒) 先考虑一下Floyd本身的实现原理, for(k=1;k<=n;k++) for(i=1;i<=n;i++) for( ...