当前位置:首页 > VUE

用vue实现routerview案例

2026-02-21 21:24:57VUE

安装 Vue Router

确保项目已安装 Vue 和 Vue Router。若未安装,可通过以下命令安装:

npm install vue-router

配置路由文件

创建路由配置文件(如 src/router/index.js),定义路由规则:

import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
];

const router = createRouter({
  history: createWebHistory(),
  routes
});

export default router;

挂载路由到 Vue 实例

src/main.js 中导入路由并挂载:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';

const app = createApp(App);
app.use(router);
app.mount('#app');

使用 <router-view> 组件

在根组件(如 src/App.vue)中放置 <router-view>,作为路由内容的出口:

用vue实现routerview案例

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

导航跳转示例

在页面中添加导航链接,使用 <router-link> 组件:

<template>
  <div>
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
  </div>
</template>

动态路由与参数传递

定义动态路由时,可通过 : 标记参数:

// router/index.js
{ path: '/user/:id', component: User }

在目标组件中通过 useRoute 获取参数:

用vue实现routerview案例

import { useRoute } from 'vue-router';

export default {
  setup() {
    const route = useRoute();
    console.log(route.params.id);
  }
};

嵌套路由配置

在父路由的 children 属性中定义嵌套路由:

{
  path: '/parent',
  component: Parent,
  children: [
    { path: 'child', component: Child }
  ]
}

父组件中需再次使用 <router-view> 作为嵌套内容出口:

<!-- Parent.vue -->
<template>
  <div>
    <h2>Parent</h2>
    <router-view></router-view>
  </div>
</template>

路由守卫示例

通过 router.beforeEach 实现全局前置守卫:

router.beforeEach((to, from, next) => {
  if (to.meta.requiresAuth) {
    // 验证逻辑
  } else {
    next();
  }
});

代码格式化说明

  • 路由配置需遵循 Vue Router 的 API 设计。
  • 组件文件建议放在 src/views/ 目录下。
  • 动态参数需通过 route.params 访问。
  • 嵌套路由的路径无需以 / 开头。

标签: 案例vue
分享给朋友:

相关文章

vue分类实现

vue分类实现

Vue分类实现方法 在Vue中实现分类功能通常涉及数据分组、动态渲染和交互逻辑。以下是几种常见的实现方式: 基于计算属性的分类 通过计算属性对原始数据进行分组处理,适合静态或少量数据分类: com…

vue实现频道

vue实现频道

Vue实现频道功能的方法 使用Vue Router动态路由 通过Vue Router的动态路由功能可以轻松实现频道切换。在路由配置中定义动态参数,组件内通过this.$route.params获取当前…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定单选按钮 通过 v-model 可以轻松实现单选功能,将单选按钮的值绑定到同…

vue nexttick实现

vue nexttick实现

Vue 中 nextTick 的实现原理 Vue 的 nextTick 是一个用于在下次 DOM 更新循环结束之后执行延迟回调的方法。它的核心实现依赖于 JavaScript 的事件循环机制。…

vue实现hovuer

vue实现hovuer

Vue 实现 Hover 效果 在 Vue 中实现 hover 效果可以通过多种方式完成,以下是几种常见的方法: 使用 CSS 直接控制 通过 :hover 伪类实现,无需额外的 JavaScrip…

自实现vue

自实现vue

实现 Vue 的核心功能 要实现一个简化版的 Vue,需要理解其核心功能:数据响应式、模板编译、虚拟 DOM 和组件系统。以下是关键步骤的分解: 数据响应式 Vue 使用 Object.define…