vue-router 路由基础简单介绍

【Vue知识点】路由router详解 路由router详解 阅读详情

今天我总结了一下vue-route基础,vue官方推荐的路由。

一、起步

HTML

<div id="myDiv">
  <h1>简单路由</h1>
  <router-link to="/foo">Go to foo</router-link>    
  <router-link to="/bar">Go to bar</router-link>    

// 渲染出口
  <router-view></router-view>
</div> 
  1. 创建模板(组件):
    (也可以用import 引入外部组件)
   var foo={template:"<p>我是foo 组件</p>"};
   var bar={template:"<p>我是bar 组件</p>"};
  1. 组件注入路由:
var routes = [
      {path:'/foo',component:foo},
      {path:'/bar',component:b ar},
   ];
  1. 创建路由实例:
// 这里还可以传入其他配置
const router = new VueRouter({
      routes     // (缩写)相当于 routes: routes; 
    });

注意这里 routes 没有 ‘ r ’ (不要写成 routers)

  1. 创建vue实例(并挂载实例)
   var routerVue = new Vue({
      router
   }).$mount("#myDiv"); 

二、动态路由匹配

有时候我们需要的是模板结构一样,当时数据不一样,就相当于我们要把不同ID的登录用户连接到同一个页面,但要显示每个用户的独立信息,这时我们就用到了动态路由匹配。
动态路由主要用到了全局 $route.params 和路由的动态参数,全局route 的 params API 存储着 路由的所有参数,路径的参数用 “ : ”来标记:

HTML

<div id="myDiv">
// 点击对应链接时传入对应参数foo 和 bar
  <router-link to="/User/:foo">Go to foo</router-link> 
  <router-link to="/User/:bar">Go to bar</router-link>  

   <router-view></router-view>
</div> 

JS

const User = {
      template:'<p>我的ID是{{ $route.params.id }}</p>',
// 在路由切换时可以观察路由
      watch:{
        '$route'(to,form){
          console.log(to);  //要到达的
          console.log(form);
        }
      }
    }

    const router = new VueRouter({
      routes:[
         {path:'/user/:id',component:User}  // 标记动态参数 id
      ]
    });

    var myVue = new Vue({
        router
    }).$mount("#myDiv")

三、嵌套路由

1.嵌套路由讲的是我们可以在 <router-view>中去在渲染 <router-view> 这时要在配置路由时使用 children
例如:
HTML:

<div id="myDiv">
  <router-link to="/User/:foo">Go to foo</router-link> 
  <router-link to="/User/:bar">Go to bar</router-link>  

   <router-view></router-view>
</div> 

JS:

 const User = {
      template:'<div><p>我的ID是{{ $route.params.id }}</p><router-link to="/user/childone">ChildOne</router-link><router-link to="/user/childtwo">ChildOne</router-link><router-view></router-view></div>',
     }

     // 子路由
     const userChildOne = {
        template:'<div>我是 userChildOne</div>'
     }
     const userChildTwo = {
        template:'<div>我是 userChildTwo</div>'
     }
    const router = new VueRouter({
      routes:[
         {path:'/user/:id',component:User,
           children:[  // 用法和参数和routes 一样
              {path:"/user/childone",component:userChildOne},
              {path:"/user/childtwo",component:userChildTwo}
           ]

         }
      ]
    });

    var myVue = new Vue({
        router
    }).$mount("#myDiv")

四、命名路由

1.给路由命名指定路路由跳转,要用到参数name 和 v-bind

HTML:

<div id="myDiv">
<!-- 要用v-bind 的绑定to -->
  <router-link :to="{name:'userOne',params:{userId:'123'}}">Go to foo</router-link> 
  <router-link :to="{name:'userTwo',params:{userId:'456'}}">Go to bar</router-link>  

   <router-view></router-view>
</div> 

JS:

  const User = {
      template:'<p>我的ID是{{ $route.params.userId }}</p>',
      watch:{
        '$route'(to,form){
          console.log(to);
          console.log(form);
        }
      }
    }

    const router = new VueRouter({
      routes:[
      // name 一一对应上
         {path:'/user/:userId',name:"userOne",component:User},
         {path:'/user/:userId',name:"userTwo",component:User}
      ]
    });

    var myVue = new Vue({
        router
    }).$mount("#myDiv")

五、命名视图

1.给渲染视图 router-view 命名,来制定让那个视图渲染组件
HTML:

<div id="myDiv">
<!-- 要用v-bind 的绑定to -->
  <router-link :to="{name:'userOne',params:{userId:'123'}}">Go to foo</router-link> 
  <router-link :to="{name:'userTwo',params:{userId:'456'}}">Go to bar</router-link>  
<!-- 视图命名 如果不写name 则为默认为 default-->
   <router-view></router-view>
   <router-view name='b'></router-view>
</div> 

JS:

// 四个模板
    const UserA = {
      template:'<p>我是one,ID是{{ $route.params.userId }}</p>',
    }
    const UserB = {
      template:'<p>我是two,ID是{{ $route.params.userId }}</p>',
    }
    const UserC = {
      template:'<p>我是three,ID是{{ <1ro></1ro>ute.params.userId }}</p>',
    }
    const UserD = {
      template:'<p>我是four,ID是{{ $route.params.userId }}</p>',
    }
    const router = new VueRouter({
      routes:[
      // name 一一对应上
         { 
            path:'/user/:userId',
            name:"userOne",
            components:{ // 注意这里为components 多个“ s ”
               default:UserA,
               b:UserB
            }
         },
         { 
            path:'/user/:userId',
            name:"userTwo",
            components:{
               default:UserD,
               b:UserC
            }
        }
      ]
    });

    var myVue = new Vue({
        router
    }).$mount("#myDiv")

六、重定向 和 别名

重定向 和别名,首先我先来解释一下什么叫做重定向和别名

『重定向』的意思是,当用户访问 /a时,URL 将会被替换成 /b,然后匹配路由为 /b,

『别名』 /a 的别名是 /b,意味着,当用户访问 /b 时,URL 会保持为 /b,但是路由匹配则为 /a,就像用户访问 /a 一样。/a 的别名是 /b,意味着,当用户访问 /b 时,URL 会保持为 /b,但是路由匹配则为 /a,就像用户访问 /a 一样。

重定向主要用参数:redirect 而别名主要用到参数: alias
HTML:

<div id="myDiv">
 <h2>效果查看地址栏最后面的变化</h2>
  <router-link to="/User/foo">Go to foo</router-link> 
  <router-link to="/User/bar">Go to bar</router-link>  
  <router-link to="/User/Car">Go to bar</router-link>  

   <router-view></router-view>
</div> 

JS:


    const User = {
      template:'<p>我是同一个页面</p>',
    }
    const router = new VueRouter({
      mode:"history",
      routes:[
         { path:'/User/foo',component:User},
         { path:'/User/bar',redirect: '/User/foo',component:User},
         // 重定向的目标也可以是一个命名的路由:
         // 甚至是一个方法,动态返回重定向目标:

         // 别名设置
         { path:'/User/foo',alias: '/User/Car'}

      ]
    });

    var myVue = new Vue({ 
        router
    }).$mount("#myDiv")
Vue路由——vue-router 目录 前端路由与后端路由 路由 后端路由 前端路由 vue-router 路由 vue-router基本用法 前端路由与后端路由 路由 路由(routing):指从源到目的地时,决定端到端路径的决策过程。 路由分为两大类:前端路由和后端路由。 后端路由 后端路由是指:请求方式,请求地址与function处理函数之间的对应关系。 例如在node.jszhong ,express路由的基本用法如下: const express=require('express'); const ro 阅读详情

相关推荐

vue中路由router切换

一.实现一个简单的路由切换 前端路由使用hash值来切换,适用于单页面应用 vue中router的简单使用 1.下载vue-router.js 并安装 yard add vue-router 2.注册一个路由实例 const router = new VueRouter({ routes:[ 匹配路由规则 ] }) 把这个注册的路由添加到vue实例中 let vm = ne...

spring_world_all的博客 2655

Vue.js——vue-router 60分钟快速入门

概述 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。 本文将以示例的形式来介绍vue-router的各个特性,一共包...

dengjie0448的博客 1421

基于MicroPython的ESP32与微信小程序MQTT通信实战

本文详细介绍了基于MicroPython的ESP32与微信小程序通过MQTT协议实现远程控制的完整实战方案。项目利用巴法云作为免费MQTT服务器,提供了从设备端编程、小程序开发到通信调试的全流程指南,帮助开发者快速构建低成本、易上手的物联网应用,如智能开关、传感器监控等。

week9的博客 634

Vue Router

安装 直接下载 / CDNhttps://unpkg.com/vue-router@4 npm npm install vue-router@4 开发版本构建 如果你想使用最新的开发版本,你需要直接从 GitHub 上克隆并自己构建vue-router。 git clone https://github.com/vuejs/vue-router.git node_modules/vue-router cd node_modules/vue-router n...

qq_44769099的博客 670

香橙派5使用RK3588S内置NPU加速yolov5推理,实时识别数字达到50fps

香橙派5采用了RK3588S,内置的NPU达到了6Tops的算力,博主这里记录一下自己的踩坑过程,好不容易做出来的不能以后忘记了(手动狗头)。这里博主还在B站上发布了效果视频,大家感兴趣的话可以看一下。其中解决了先验框标注位置不对,或者出现非常多的框的问题

weixin_51651698的博客 2万+

ESP32连接OneNet云平台实现多设备联动控制完整示例

通过esp32连接onenet云平台,实现远程设备间的智能联动控制,利用MQTT协议完成数据通信,esp32连接onenet云平台后可高效稳定地上传与下发指令,提升物联网系统响应速度与自动化水平。

weixin_42360733的博客 547

Vue项目引入路由

在vue项目中,要实现页面组件之间的跳转,可以通过路由来实现,下面是怎么在项目中引入路由的步骤本篇主要记录Vue项目引入路由,具体的使用方法请参考其他教程。

Bald Monkey的博客 3960

保姆级教程:用GPU-Burn给你的NVIDIA Tesla服务器做个“压力体检”(附温度功耗监控脚本)

本文提供了一份详细的GPU服务器压力测试指南,重点介绍如何使用GPU-Burn工具对NVIDIA Tesla服务器进行全面的性能测试和温度功耗监控。从环境部署、多GPU测试策略到专业级监控指标解析,帮助运维人员构建标准化的GPU健康评估体系,确保AI训练和科学计算等关键业务的稳定性。

weixin_30619101的博客 395

Vue_路由的基本使用步骤

【代码】Vue_路由的基本使用步骤

m0_74152912的博客 944

手写数字数据集MNIST

文章目录一、 简介二、下载MNIST数据集训练集和测试集的长度输出图像数据和标记数据的形状显示手写数字图片输出数据集中的第1个样本显示图片 一、 简介 MNIST是一个非常有名的手写体数字识别数据集(手写数字灰度图像数据集),在很多资料中,这个数据集都会被用作深度学习的入门样例。 MNIST数据集是由0到9的数字图像构成的。训练图像有6万张,测试图像有1万张。MNIST数据集是NIST数据集的一个子集,它包含了60000张图片作为训练数据,10000张图片作为测试数据。由250个不同的人手写而成。 每一张图

qq_37289115的博客 1万+

perftest实战:从零到一,精准评估RDMA网络性能

想象一下,两台服务器传输数据就像在同一个主板上交换内存,这种零拷贝、低延迟的特性,正是高性能计算、分布式存储等场景梦寐以求的。对于云环境用户,主流云厂商现在都提供RDMA实例(比如AWS的EFA、阿里云的eRDMA)。但要注意,不同机型支持的RDMA协议版本可能不同,这会直接影响测试结果的上限值。记得记录每次测试的BW average值,绘制成曲线图后,你可能会发现类似"阶梯状"的性能变化,这通常与网卡的DMA引擎设计有关。在云环境中,由于虚拟化层的影响,延迟会比裸金属高20-30%。

weixin_28700411的博客 212

前端路由与vue-router的简单介绍

前端路由是指在单页面应用(SPA)中,根据URL的变化来加载不同的页面内容,而不是像传统的多页面应用一样重新加载整个页面。前端路由通过监听浏览器的URL变化,根据不同的URL路径,渲染对应的页面组件或内容。它能够帮助我们实现页面之间的跳转和切换。vue-router 是 Vue.js 官方的路由管理器。它可以在单页面应用程序中实现路由功能,即在不刷新整个页面的情况下,根据 URL 的变化渲染不同的组件。

weixin_74341202的博客 1081

Unity UGUI高斯模糊背景效果 简易解决方案

UnityUI背景模糊效果简易解决方案1.功能描述简易界面框架搭建合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 1.功能描述 在我们玩游戏的时候,经常会看到一些游戏会对UI做这样的处理: 可以看到,新开的上层UI界面会以下层UI界面的模糊

SaberZG的博客 1万+

如何在Vue3中使用vue-router添加简单的路由功能

vue-router 是 Vue.js 官方提供的路由管理插件,是 Vue.js 生态系统中的一个重要组成部分。它的主要作用是帮助开发者根据 URL 改变视图,从而实现单页应用的多视图效果。通过本文,我们了解了如何在 Vue3 项目中使用 vue-router 来添加简单的路由功能。vue-router 提供了丰富的配置选项和功能,除了基本的路径匹配外,还支持嵌套路由、命名视图、路由守卫等高级特性最后问候亲爱的朋友们,并邀请你们阅读我的全新著作。

有我更精彩的博客 1573

【YOLOv11改进 - 特征融合】DySample :超轻量级且高效的动态上采样器

【YOLOv11改进 - 特征融合】DySample :超轻量级且高效的动态上采样器

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1071

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Vue】Vue路由的基本使用--简单侧边栏的实现

项目搭建 vue-router的安装 一、用脚手架vue-cli基于webpack模板搭建vue项目的时候,在项目配置中选择使用vue-router,即 Install vue-router? Yes (推荐使用) 二、进入到项目根目录,运行命令 npm install vue-router 回车 路由使用实例 路由组件和非路由组件 组件可以分为两类,路由组件和非路由组件。上面图片中的侧边栏就是3个路由组件,而右边的则是非路由组件。 以使用第一种方法安装的vue-router为例,安装好项目文件夹的目录

weixin_44707049的博客 2449

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Vue前端路由vue-router

vue前端路由

sunbyte带你学 747

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Vue3+TS项目之简单路由设置

Vue Router的简单使用

qq_43433815的博客 4884

vue-router之简单使用

或者 项目中的使用 我们在src下新建的目录,并在下面新建的文件,专门用于管理路由 并在src下新建来专门存放路由组件,这里我们新建了两个路路由文件和 目录如下 展示位置 使用标签进行路由的展示 使用进行路由的跳转 路由注册 路由文件 路由挂载 效果 当我们点击不同的路由导航的时候,在路由的显示位置,就会展示不同的页面......

youhebuke225的博客 563

vue-router原理解析并实现简单的vue-router

本篇博客是自己学习vue-router原理时候的笔记,所以本篇博客内容直白简单,通俗易懂,详细讲解了vue-router重点难点,欢迎大家阅读留言。

weixin_46015333的博客 627

vue-router看这一篇就够了

vue-router是vue的核心插件之一,要好好理解牢记 前端路由的概念 路由其实分两种,一种前端路由,一种是后端路由。先谈谈后端,在我做的koa2中,没有使用任何前端框架,只是用了ejs模板。所有的页面跳转都是后端完成的,这就带来一个问题,频繁的后端渲染实际对性能有损害。所以前端路由就出现了,在vue中,页面的跳转都是又前端完成的,后端只在第一页面刷新时使用。所以后端路由的本质就是浏览器...

edison lee的博客 494

Vue-router

SPA 现在的应用都流行单页面,在用户通过某些操作后更改地址url后,动态的进行不同模版内容的无刷新切换,用户体验更好。 在vue中使用官方提供的vue-router来配置单页,通过url的变化,触发hashchange事件进行路由之间的切换(卸载和安装) ajax请求,通过路由,页面不会整体重载 Router 基础 vue 路由的mode(模式)有几种, 分别是什么?在那些环境下运行? h...

如果有了可惜 324

router vue 多个路径_vue-router的基本入门

​原创:小马哥web前端工程师陈小妹妹。vue-router是vue的路由管理系统。我们都知道vue是单页面应用(SPA),通过路由的映射从而切换到指定组件。区别:传统的页面跳转是通过a链接的target属性,指定是否在本窗口打开新页面,每次跳转都是页面的重新刷新。而vue应用的路由会指定组件切换,无须重新刷新页面,提高用户体验。安装vue-routervue-router是Vue.js官方的路由...

weixin_33358099的博客 388

【VUE】vue.js中的路由router

本章节我们将为大家介绍 Vue.js 路由。Vue.js 路由允许我们通过不同的 URL 访问不同的内容。通过 Vue.js 可以实现多视图的单页Web应用(single page web application,SPA)。Vue.js 路由需要载入。

不积跬步无以至千里,不积小流无以成江海~ 726

vue router 使用html,Vue-router的基本用法

刚学习vue不久,就接触了路由这个好东西。下面简单聊聊vue-router的基本用法。一、路由的概念路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的news按钮,页面中就要显示news的内容。Home按钮 => home 内容, news按钮 => news内容,也可以说是一种映射. 所以在页面上有两个部分,一个是点击部分,一个是...

weixin_29091105的博客 1172
上一篇: js 定义属性 以及 getter 和 setter
下一篇: vue 的认识与介绍
webxiaoma
博客等级 码龄10年 65粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值