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

<router-view> 中key和name属性的用法详解以及案例

在Vue.js框架中,<router-view> 是一个内置组件,用于渲染路由匹配到的组件。keyname 属性是 <router-view> 组件的两种属性,它们有不同的用途和作用。

key 属性

key 属性主要用于Vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes。如果不使用key,Vue会使用一种尽可能高效的方法更新渲染的元素。这通常会尽量复用已有元素而不是从头开始渲染。而如果你指定了一个key,那么Vue会根据keys来管理元素,并且确保它们总是精确地匹配。
在路由视图中使用key属性通常有以下用途:

  • 防止复用:当路由参数发生变化时,有时我们不希望组件被复用,而是重新创建。这时,我们可以通过给 <router-view> 设置一个动态的 key(比如使用路由的fullPath),这样每次路由变化时key都会变,从而触发组件的重新渲染。
    案例
<template>
  <router-view :key="$route.fullPath"></router-view>
</template>

在这个案例中,每次路由变化(即使参数变化)都会导致 <router-view>key 变化,从而使得组件会重新渲染。

name 属性

name 属性在 <router-view> 中不是特别常用,但可以用来指定一个命名视图。在Vue Router中,你可以给路由配置多个命名视图,然后在父级组件中用相应名称的 <router-view> 来渲染它们。
案例
假设我们有以下路由配置:

const router = new VueRouter({
  routes: [
    {
      path: '/user/:id',
      components: {
        default: UserHome, // 默认视图
        sidebar: UserSidebar // 命名视图
      }
    }
  ]
})

然后,在父级组件中,你可以这样使用命名视图:

<template>
  <div>
    <router-view></router-view> <!-- 默认视图 -->
    <router-view name="sidebar"></router-view> <!-- 命名视图 -->
  </div>
</template>

在这个案例中,UserHome 组件将会渲染在默认的 <router-view> 中,而 UserSidebar 组件将会渲染在 name="sidebar"<router-view> 中。
总结:

  • key 属性用于控制组件的复用逻辑,通常与路由的参数或路径结合使用。
  • name 属性用于指定命名视图,这在有多个视图需要同时渲染时非常有用。

http://www.kler.cn/a/428901.html

相关文章:

  • 深度学习中的张量 - 使用PyTorch进行广播和元素级操作
  • STL--list(双向链表)
  • 实力认证 | 海云安入选《信创安全产品及服务购买决策参考》
  • 蓝桥杯备考:堆和priority queue(优先级队列)
  • 搭建一个基于Spring Boot的书籍学习平台
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
  • 试题转excel;pdf转excel;试卷转Excel,word试题转excel
  • 力扣 对称二叉树-101
  • 如何利用Python爬虫获得商品类目
  • ARM寄存器简介
  • 基于单片机的书写坐姿规范提醒器设计(论文+源码)
  • 粉丝生产力与开源 AI 智能名片 2+1 链动模式商城小程序的融合创新与价值拓展
  • PyTorch 本地安装指南:全面支持 macOS 、 Linux 和 Windows 系统
  • wazuh-modules-sca
  • 麒麟 V10 系统(arm64/aarch64)离线安装 docker 和 docker-compose
  • 使用trace-cmd跟踪Linux内核函数:一次愉快的内核探险
  • BurpSuite-7(自动化漏扫)
  • Redis的五种数据类型(Set、Zset)
  • K8s面试系列:K8s常用 API 资源总结速记
  • Redis过期删除(淘汰)策略概念和理解,以及key已过期内存未释放的处理方式
  • Unity控制物体材质球的改变
  • 解决流网络中不存在s~u~t路径的节点的最大流问题
  • 分享一个开源的网络加速器
  • Vue Web开发(三)
  • 前端路径“@/“的使用和配置
  • 【第一篇】逆向实战,exe游戏 逆向实战之某网络游戏---本文仅供学习-仅供学习-----逆向程序-优雅草央千澈-逆向端游实战---逆向某很火很火的游戏实战。