logo
  • 指南
  • API
  • 博客
  • 简体中文
    • 简体中文
    • English
    • @esmx/core
      Esmx
      App
      RenderContext
      ModuleConfig
      PackConfig
      ManifestJson
      @esmx/router
      Router
      Route
      路由配置
      RouterLink
      导航守卫
      动态路由匹配
      嵌套路由
      编程式导航
      滚动行为
      图层路由
      微应用
      错误类型
      类型参考
      @esmx/router-vue
      RouterPlugin
      组合式函数
      组件
      类型增强
      @esmx/router-react
      微应用集成
      Hooks 与上下文
      组件
      SSR
      App
      @esmx/rspack
      @esmx/rspack-vue
      @esmx/rspack-react

      最后更新于: 2026/4/7 02:16:07

      上一页组合式函数下一页类型增强

      #组件

      #简介

      @esmx/router-vue 提供两个内置 Vue 组件:RouterView 用于渲染匹配的路由组件,RouterLink 用于声明式导航。使用 RouterPlugin 时,两者都会被全局注册。

      #RouterView

      • 组件名称:RouterView

      在当前深度渲染匹配的路由组件。通过 Vue 的 provide/inject 机制支持嵌套路由和自动深度跟踪。

      <template>
          <div id="app">
              <nav>
                  <RouterLink to="/">首页</RouterLink>
                  <RouterLink to="/about">关于</RouterLink>
              </nav>
      
              <!-- 路由组件在此渲染 -->
              <RouterView />
          </div>
      </template>

      嵌套路由:

      <!-- 父级布局组件 -->
      <template>
          <div class="layout">
              <aside>
                  <RouterLink to="/user/profile">个人资料</RouterLink>
                  <RouterLink to="/user/settings">设置</RouterLink>
              </aside>
              <main>
                  <!-- 嵌套路由组件在此渲染 -->
                  <RouterView />
              </main>
          </div>
      </template>

      #RouterLink

      • 组件名称:RouterLink

      导航链接组件,渲染带有适当导航行为和活跃状态管理的锚元素。

      Props:

      属性类型默认值描述
      toRouteLocationInput必填目标路由位置
      typeRouterLinkType'push'导航类型
      replacebooleanfalse已弃用 — 使用 type="replace"
      exactRouteMatchType'include'活跃状态匹配策略
      activeClassstring—活跃状态的自定义 CSS 类
      eventstring | string[]'click'触发导航的事件
      tagstring'a'要渲染的 HTML 标签
      layerOptionsRouteLayerOptions—type='pushLayer' 时的图层选项
      beforeNavigateFunction—导航前的钩子
      <template>
          <nav>
              <!-- 基本导航 -->
              <RouterLink to="/home">首页</RouterLink>
              <RouterLink to="/about">关于</RouterLink>
      
              <!-- 自定义样式 -->
              <RouterLink to="/dashboard" active-class="nav-active">
                  仪表盘
              </RouterLink>
      
              <!-- 替换导航 -->
              <RouterLink to="/login" type="replace">登录</RouterLink>
      
              <!-- 精确匹配和自定义标签 -->
              <RouterLink to="/contact" exact="exact" tag="button">
                  联系我们
              </RouterLink>
      
              <!-- 在新窗口打开 -->
              <RouterLink to="/docs" type="pushWindow">
                  文档
              </RouterLink>
          </nav>
      </template>