当前位置: 首页 > news >正文

Vue3-31-路由-RouterView的name属性的作用

作用描述

<router-view> 标签是用来渲染路由对应的组件的位置;
默认情况下,一个路由是只对应一个组件的。
但是,可以通过给 <router-view> 指定 name 属性的方式,实现同时渲染多个组件的效果。
这也叫做 命名视图

注意点

1、因为一个路由需要对应多个组件,所以在进行路由配置时需要使用 components 来代替 component;

2、在使用<router-view> 时指定 name 属性,不指定的,默认是 default

3、components 中使用 key-value 的形式配置组件,
key : 就是 <router-view> 的 name 属性的值
value : 就是要渲染的组件

路由中的配置就像下面这样 :{path:'/showAllComponents',name:'aroute',components:{ // 指定多个组件default : componentA,  // 默认名称 defaultfirst : componentB, // name = first 的 router-viewsecond : componentC  // name = second 的 router-view},},

使用案例

项目结构如下 :
projectName| -- src| -- App.vue # 根组件,A B C 三个组件都在这里展示| -- componentA.vue| -- componentB.vue| -- componentC.vue| -- router.ts # 路由配置的文件| -- mian.ts # 程序的入口ts文件| -- index.html # 项目页面入口文件下面的案例代码只展示重点的部分:

router.ts 路由配置

// 导入 定义路由的两个方法
import {createRouter,createWebHistory}  from 'vue-router'// 引入两个组件
import componentA from "./componentA.vue";
import componentB from "./componentB.vue";
import componentC from "./componentC.vue";// 声明路由跳转的路径与组件的对应关系
const routsList = [{path:'/showAllComponents',name:'aroute',components:{default : componentA,first : componentB,second : componentC},},
]// 创建路由的实例对象
const routerConfigObj = createRouter({history:createWebHistory('abc'), // 带一个参数,表示是路由的一个前缀routes:routsList // 指定路由的配置列表
})// 导出路由的对象
export default routerConfigObj;

App.vue 根组件内容

<template><div class="basediv">APP.vue 中的 msg : {{ msg }}<br><br><br><!-- router-view 进行目标组件的展示 --><router-view></router-view><router-view name="first"></router-view><router-view name="second"></router-view></div></template><script setup lang="ts">// 引入 provide 方法import { ref } from 'vue'// 声明父组件的一个变量const msg = ref('这是App根组件的msg变量')</script><style scoped>.basediv{width: 600px;height: 400px;border: 1px solid red;}
</style>

运行效果

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【STM32】TIM1在电机应用时的注意事项
  • CGAL的三角曲面网格变形
  • 创建加密分区或者文件
  • 前端 -- 基础 常用标签 ( 图像标签及其属性详解)
  • postman使用-03发送请求
  • 很实用的ChatGPT网站——httpchat-zh.com
  • 树莓派 ubuntu20.04下 python调讯飞的语音API,语音识别和语音合成
  • UIToolKit使用心得
  • 挑战Python100题(7)
  • 微软发布补丁,修复 Win10、Win11 关键漏洞
  • SQL使用从入门到优化:目录
  • c++_运算符重载(时钟加减)
  • ElasticSearch之RestClient笔记
  • Python生成器 (Generators in Python)
  • 【二叉树】【DFS】104.二叉树的最大深度
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【刷算法】求1+2+3+...+n
  • Angular4 模板式表单用法以及验证
  • CSS 提示工具(Tooltip)
  • Java精华积累:初学者都应该搞懂的问题
  • Python打包系统简单入门
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • 从PHP迁移至Golang - 基础篇
  • 技术:超级实用的电脑小技巧
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 微信公众号开发小记——5.python微信红包
  • ​Java并发新构件之Exchanger
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #git 撤消对文件的更改
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (C)一些题4
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (过滤器)Filter和(监听器)listener
  • (三)Honghu Cloud云架构一定时调度平台
  • (转)c++ std::pair 与 std::make
  • (转)VC++中ondraw在什么时候调用的
  • (转)创业的注意事项
  • (转)大道至简,职场上做人做事做管理
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)为C# Windows服务添加安装程序
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET gRPC 和RESTful简单对比
  • .NET8使用VS2022打包Docker镜像
  • .NET上SQLite的连接
  • .net实现头像缩放截取功能 -----转载自accp教程网