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

Vue页面跳转

安装Vue Router

首先,你需要安装Vue Router。如果你的项目是通过Vue CLI创建的,Vue Router可能已经包含在内。如果没有,你可以通过npm或yarn来安装它:

 
npm install vue-router@next
# 或者
yarn add vue-router@next

创建路由实例

在你的项目中创建一个路由配置文件,比如router/index.js,并设置路由规则:

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

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

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
});

export default router;

在Vue应用中使用路由

在你的主Vue实例中,你需要引入并使用这个路由配置:

 
// 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-link>

在模板中,你可以使用<router-link>组件来进行页面跳转。它会渲染成一个链接,并且点击时会导航到指定的路由:

 
<!-- 导航到名为 "About" 的路由 -->
<router-link to="{ name: 'About' }">About</router-link>

或者直接指定路径:

 
<!-- 导航到 "/about" 路径 -->
<router-link to="/about">About</router-link>

使用编程式导航

在组件的方法中,你可以使用this.$router对象来进行编程式导航:

 
export default {
  methods: {
    goToAbout() {
      this.$router.push({ name: 'About' });
    }
  }
}

或者使用路径:

 
export default {
  methods: {
    goToAbout() {
      this.$router.push('/about');
    }
  }
}

使用<router-view>

在你的应用的主组件(通常是App.vue)中,你需要一个地方来显示当前路由匹配到的组件。这个地方就是<router-view>

 
<!-- App.vue -->
<template>
  <div id="app">
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
    <router-view></router-view>
  </div>
</template>

当用户导航到一个新的路由时,对应的组件会被渲染在<router-view>的位置。


http://www.kler.cn/news/313828.html

相关文章:

  • 有关elementui form验证问题,有值却仍然显示不通过
  • 数据结构day2
  • java重点学习-线程池的使用和项目案例
  • C++ | 多态
  • 浅谈C++之运算符
  • 文件上传-php
  • ZionAI应用无代码开发平台 | OPENAIGC开发者大赛企业组AI创新之星奖
  • Spring扩展点系列-MergedBeanDefinitionPostProcessor
  • 企业微信应用消息收发实施记录
  • Spring Boot实现:Java免税商品购物商城全攻略
  • 8. 详细描述一条 SQL 语句在 MySQL 中的执行过程。
  • 深度学习——微积分求导,反向传播
  • 简单多状态dp第三弹 leetcode -买卖股票的最佳时机问题
  • 嵌入式Linux学习笔记(6)-线程处理、线程同步、线程池(c语言实现)
  • Spring Boot与gRPC的完美融合:构建高效用户服务与订单服务通信
  • 视频存储EasyCVR视频监控汇聚管理平台设备录像下载报错404是什么原因?
  • GO GIN 推荐的库
  • 2024年上海初中生古诗文大会倒计时一个半月:来做2024官方模拟题
  • 新手学习Python第十天-新手笔记(速学)
  • 【深度学习】(1)--神经网络
  • Pytorch Lightning框架
  • Java集合(List篇)
  • SpringBootAdmin源码修改编译002_踩坑记录一堆坑_记录过程_没有成功---VUE工作笔记0027
  • linux 操作系统下dhcrelay命令介绍和案例应用
  • 28V_1MHZ电子烟,无线鼠标,医疗器械等专用恒频升压转换器超小体积封装
  • 用户态缓存:高效数据交互与性能优化
  • Spring Boot中的响应与分层解耦架构
  • C一语言—动态内存管理
  • 24年蓝桥杯及攻防世界赛题-MISC-1
  • 力扣最热一百题——除自身以外数组的乘积