vue --- 关于多个router-view视图组件,渲染同一页面
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视图组件,渲染同一页面的更多相关文章
- 小程序之如和使用view内部组件来进行页面的排版功能
这篇文章主要介绍了关于小程序之如和使用view内部组件来进行页面的排版功能,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 涉及知识点: 1.垂直排列,水平排列 2.居中对齐 示例: 1 ...
- vue动态添加对象属性,视图不渲染
发现数据确实改变了.但是视图没有渲染.原因是赋值的问题,应该这样动态增加属性 vm.$set(vm.template.titleAttachInfoDetail,newKey,newVal) vm 当 ...
- [译]ASP.NET Core 2.0 视图组件
问题 如何在ASP.NET Core 2.0中使用视图组件? 答案 新建一个空项目,修改Startup类并添加MVC服务和中间件: public void ConfigureServices(ISer ...
- 016.NET5_MVC_视图组件扩展定制
视图组件 1. 呈现页面响应的某一部分而不是整个响应 2. 包括在控制器和视图之间发生的关注分类和可测试优势 3.可以具有参数和业务逻辑 4. 通常在页面局部调用 如何自定义视图组件? 1.Razor ...
- 界面编程与视图(View)组件
一.视图组件与容器组件 Android应用的绝大部分UI组件都放在android.widget包及其子包.android.view包及其子包中,Android应用的所有UI组件都继承了View类. V ...
- ASP.NET Core MVC 之视图组件(View Component)
1.视图组件介绍 视图组件是 ASP.NET Core MVC 的新特性,类似于局部视图,但它更强大.视图组件不使用模型绑定,并且仅依赖于调用它时所提供的数据. 视图组件特点: 呈块状,而不是整个响应 ...
- 小波说雨燕 第三季 构建 swift UI 之 UI组件集-视图集(四)Alert View视图 学习笔记
当我们的应用电量不足的时候,就需要警告提示,那么我们可以用Alert View视图 实现:
- vue构造函数(根实例化时和组件实例对象选项)参数:选项详解
实例选项(即传给构造函数的options):数据,DOM,生命周期钩子函数,资源,组合,其他 数据 data 属性能够响应数据变化,当这些数据改变时,视图会进行重渲染. 访问方式: 1.通过 vm.$ ...
- DRF 视图组件,路由组件
视图组件 -- 第一次封装 -- GenericAPIView(APIView): queryset = None serializer_class = None def ge ...
- Vue04——vue自定义事件、Router、Vue-cli、发布上线
一.Vue的自定义事件 点击任何一个按钮,按钮本身计数累加,但是每点击三个按钮中的一个,totalCounter 都要累加. <body> <div id="app&quo ...
随机推荐
- Visual Studio蛋疼问题解决(2)
Astyle配置 1.下载并安装Astyle(AstyleExtension.vsix),重新启动VS: 2.工具->选项,从左侧列表找到AStyleFormatter,在右边编辑参数,参考设置 ...
- hiho一下 第174周
题目1 : Dice Possibility 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 What is possibility of rolling N dice ...
- javascirpt之 this、apply、call、bind
this.apply.call.bind 这又是一个面试经典问题~/(ㄒoㄒ)/~~也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是 ...
- ibatis设置启用及关闭命名空间
使ibatis用命名空间能够有效避免sql配置命名冲突,默认为启用状态,可以通过settings标签设置为关闭状态,例如: <settings> <setting name=&quo ...
- hdu 2444 The Accomodation of Students 判断是否构成二分图 + 最大匹配
此题就是求最大匹配.不过需要判断是否构成二分图.判断的方法是人选一点标记为红色(0),与它相邻的点标记为黑色(1),产生矛盾就无法构成二分图.声明一个vis[],初始化为-1.通过深搜,相邻的点不满足 ...
- Docker的官网在线--中文教程
1.官网界面:https://www.docker.com/tryit/ In this 10-minute tutorial, see how Docker works first-hand: Yo ...
- 05《UML大战需求分析》之五
调研需求的时候,用户会说这个软件要具备怎样的功能,能做什么事情等,这些是功能性的需求.部署图和构件图是用来描述软件架构的,但是我又怀疑软件需求调研也需要确定软件架构吗? 我阅读了一个例子,一个软件公司 ...
- java 常用API 包装 练习
package com.oracel.demo01; import java.util.Random; public class Swzy { public static void main(Stri ...
- Javaee 方法的格式和注意事项
1.构造方法的格式是什么?有哪些注意事项? 修饰符+方法名称+(参数列表),构造的方法没有返回值,方法名称要和类名一样,有属性参数的需要在成员变量前加this,参数列表的值要和指定的方法格式相同. ...
- DAO DTO VO BO
DAO叫数据访问对象DTO是数据传输对象DAO通常是将非对象数据(如关系数据库中的数据)以对象的方式操纵.DTO通常用于不同层(UI层.服务层或者域模型层)直接的数据传输,以隔离不同层,降低层间耦合 ...