首页 > 其他分享 >初学者指南:掌握 Vue 路由(Router)

初学者指南:掌握 Vue 路由(Router)

时间:2024-09-10 19:53:32浏览次数:10  
标签:Vue 初学者 应用 组件 Router 路由 页面

初学者指南:掌握 Vue 路由(Router)

在现代前端开发中,单页面应用(SPA)越来越受欢迎,而 Vue.js 是构建 SPA 的热门选择之一。在 Vue 应用中,路由管理是实现页面导航的关键。本文将带你一步步了解如何在 Vue 应用中使用路由。

什么是路由?

在 Web 应用中,路由是 URL 到页面内容的映射。在传统的多页面应用中,每个 URL 对应服务器上的一个独立页面。而在单页面应用中,整个应用只有一个 HTML 页面,路由用于在该页面内部导航,而不需要重新加载页面。

Vue Router 是什么?

Vue Router 是 Vue.js 官方的路由管理器。它允许你创建多视图的单页面应用,通过组件动态地渲染不同的内容。

安装 Vue Router

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

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

设置 Vue Router

在你的 Vue 项目中,你需要配置 Vue Router。以下是基本的设置步骤:

  1. 导入 Vue 和 Vue Router
import Vue from 'vue';
import VueRouter from 'vue-router';
  1. 告诉 Vue 使用 Vue Router
Vue.use(VueRouter);
  1. 定义路由

路由是定义路径与组件之间映射的对象。每个路由都映射到一个组件。例如:

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  }
];
  1. 创建 Router 实例
const router = new VueRouter({
  routes // 简写,相当于 routes: routes
});
  1. 在 Vue 实例中使用 Router
new Vue({
  router,
  render: h => h(App),
}).$mount('#app');

使用路由

在你的 Vue 应用中,你可以使用 <router-link> 创建导航链接,使用 <router-view> 显示当前路由匹配的组件。

  1. 创建导航链接
<router-link to="/">Home</router-link>
<router-link to="/about">About</router-link>
  1. 显示路由组件
<router-view></router-view>

动态路由匹配

有时候,你可能需要根据不同的参数显示不同的组件。这时,你可以使用动态路由:

const routes = [
  {
    path: '/user/:id', // :id 是一个动态段
    name: 'User',
    component: User
  }
];

然后,你可以通过 <router-link> 或编程式导航传递参数:

<router-link to="/user/123">View User</router-link>

或者在 JavaScript 中:

router.push({ name: 'User', params: { id: 123 } });

路由懒加载

为了优化应用的加载时间,Vue Router 支持路由组件的懒加载。这意味着组件只会在需要时才加载:

const Foo = () => import('./Foo.vue');

const routes = [
  {
    path: '/foo',
    component: Foo
  }
];

结论

通过本文,你应该对 Vue 路由有了基本的了解。你可以开始在你的 Vue 应用中使用路由来创建更复杂的单页面应用了。记住,路由是 SPA 的核心,掌握它是成为一名优秀前端开发者的重要一步。继续实践和探索 Vue Router 的高级特性,比如路由守卫、命名路由和嵌套路由,将帮助你构建更加强大和灵活的应用。

标签:Vue,初学者,应用,组件,Router,路由,页面
From: https://blog.csdn.net/x15514104477/article/details/142107668

相关文章

  • vue基本语法
    上文1)innerText和innerHTML属性的绑定    使用v-text和v-html标签<divid="app"><pv-text="link1"></p><pv-html="link2"></p></div><script>const{create......
  • 【卷起来】VUE3.0教程-05-侦听器
    =========各位看官,在开始学习之前,请帮我点个关注和赞吧========== ......
  • 工作日志:从零搭建vue3+ts+sass项目(3)
    折腾了两天后,发现elementPlus的代码都是ts的,本来不想现在用ts,因为非常不熟悉,但长痛不如短痛,重开项目!直接vue3+vite+ts+sass!让暴风雨来得更猛烈一下吧!我差那几个bug吗?1、执行命令如下:npmcreatevite@latestnpminstallnpminstallsass-Dnpmivue-router2、在src下......
  • Trigger源码分析 -- ant-design-vue系列
    Trigger源码分析–ant-design-vue系列1概述源码地址:https://github.com/vueComponent/ant-design-vue/blob/main/components/vc-trigger/Trigger.tsx在源码的实现中,Trigger组件主要有两个作用:使用Portal组件,把Popup组件传送到指定的dom下,默认是body。为target节点绑......
  • vue中实现选父带子,选子不带父,取子不取父
    <el-cascaderref="cascader"v-model="userFrom.major":show-all-levels="false":props="{value:'id',label:'name',children:'childList',mu......
  • vue项目首屏预加载
    <!DOCTYPEhtml><html> <head>  <metacharset="UTF-8"/>  <linkrel="icon"href=""type="image/png"/>  <linkrel="apple-touch-icon"href=""/>  &......
  • JAVA+VUE实现动态表单配置
    功能描述:资产管理系统中,在资产分类中,给同一种类型的资产配置定制化的表单项,并实现不同类型显示不同的数据,如图所示:数据库设计部分:1.表单项表CREATETABLE`dct_smp`.`t_asset_product_definitions`(`id`bigintNOTNULL,`product_id`bigintNOTNULLCOMMENT'......
  • vue 可选链操作符(?.)报错
    一直用的好好的这个运算符,换了个项目,用不了了首先交代一下,vue版本是2.6.11,node版本是v14.17.4,vue-template-compiler也是2.6.11首先哈,我们升级一下vue到2.7.xx版本[email protected]@2.7.0然后安装这个插件npminstall'@babel/plugin-proposal-opti......
  • [Vue] 高阶组件和套一层父组件的区别
    前言App.vue的套一层布局组件MainLayout,MainLayout做一些统一的布局之外,再做一些子路由相同的逻辑,比如子路由需要权限访问。但是不灵活,如果一堆路由组件中有一个不需要这个功能,就不能通过父组件嵌套统一逻辑。高阶组件比起套一层父组件复用逻辑更灵活一些。高阶组件高阶组......
  • Linux+Nginx部署Vue项目
    1.配置nodejs环境下载nodejswgethttps://nodejs.org/dist/v12.18.1/node-v12.18.1-linux-x64.tar.xz解压nodejstarxfnode-v12.18.1-linux-x64.tar.xz修改/etc/profile文件,再最下面加上exportPATH=$PATH:/root/node-v12.18.1-linux-x64/bin使/etc/profile文件立即生效source/et......