Vue router 的路由的跳轉方式 以及原理

Vue-Router与原理 Vue Router的原理是基于浏览器的History API,即HTML5中新增的History接口,通过这个API可以在浏览器中动态修改URL,并在不刷新页面的情况下实现页面的切换。Vue Router基于History API提供了一个组件化的路由管理解决方案,可以方便地进行路由的配置和管理。 阅读详情

一、路由概念

       路由:網絡工程術語

        互聯網中把信息從源地址發送到目的地

二、路由進化的三個階段

    2.1  後端路由

           頁面請求不同路徑的內容時,交給服務器來處理,服務器渲染好整個頁面並且返回客戶端

   2.2  前端路由

           後端提供api,前端使用ajx獲取數據,通過javascript將數據渲染到頁面

          前後端更清晰,明了

   2.3 單頁面富應用  simple page application

        spa在前後端分離基礎上加前端路由

       由前端維護路由規則(前端url-->頁面映射)

三、前端路由url的處理方式

      3.1 URL的hash->錨點(#)  

            改變window.location的href的屬性

            直接賦值location.hash 來改變href,頁面不刷新

      3.2 html5的history

           history.pushState({},'','home')//和棧原理比較類似

           history.back()//返回到上一頁

          history.replaceState({},'','home')//不留痕跡

          history.go(-1)//返回或者直接到指定的頁面

          history.forward()//返回到指定頁面

四、手寫router 

        4.1  新增Router文件夾->新增index.js文件

        4.2  開始在index.js寫入相關內容

//配置路由相關信息
 import VueRouter from 'vue-router'
 import Vue From 'vue'

//通過vue.use(插件) 安裝插件
Vue.use(VueRouter)

//創建VueRouter對象
const routes=[],
const router = new VueRouter({
//配置路由和組件映射關係
     routes,   
     model:history         //3.2
     linkActive:active       // router-link 補充
})
//將router 對象傳入vue實例
export default router


//main.js 使用

import router from './router/index.js'

  new Vue ({
      el:'#app',
      router,
      render:h=>h(app)
})

五、使用vue-router 步驟

      5.1 創建路由組件  Home.vue

//簡單的一個組件
<template>
 <div>
 <h2>hello this is component</h2>
  </div>
</template>

      5.2 配置路由映射

//router->index.js

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

     5.3   使用路由     

//App.vue

<template>
 <div>
  <router-link to="/home"></router-link>
  <router-view></router-view>//佔位
 </div>
</template>

   ****router-link 補充

tag:可指定<router-link>之後渲染成什麼組件

<router-link tag="button"></router-link>

replace:不會留下history的記錄

linkActive  :可以改變一些屬性

在如下樣式可以使用

<style>
.router-link-active{
  color:red;
}
</style>

    六、通過代碼實現路由跳轉

<template>
<div>
<button @click="homeClick">首頁</button>
</div>
</template>
<script>
data(){
  return{
     $router:''
}
}

methods:{
  homeClick(){
   this.$router.push('/home')
}}
</script>

七、動態路由使用vue-router

//動態獲取用戶信息
//用computed獲取數據
computed:{
   userId(){
    return this.$route.params.id
  }
}

//添加路由
const router=[{
       path:'user/:id',
       component:'User' 
   }]


//在vue渲染
<router-link to="'/user/'+ id">用戶</router-link>

八、vue-router 打包文件

dist  --->   js  --->appxxxx.js =>應用程序開發的所有代碼

                           mainxxx.js  =>為打包的代碼作為底層支撐

                         vendorxx.js =>第三方vue/vue-router/axios。。。

  ps:vue-router 懶加載 一般根據路由對應的組件分割打包會將組件分別打包,被訪問時才加在對應組件,有幾個組件就打包成幾個js文件+如上三個文件

九、嵌套路由(子組件)

{
 path:'/home'
 component:Home,
    children:[
    {
      path:'new',
      component:News
     },
    {
      path:'message',
      component:Message
     }
    ]

十、vue-router 參數傳遞

     10.1  parmas 類型

              配置路由格式:'/user/:id

             傳遞方式:path :'"/user/"+id'

            傳遞後形成路徑:/user/123

     10.2 query類型         

             配置路由格式:'/profile/'

             傳遞方式:query  -- key 

            傳遞後形成路徑:/proflie?name=aaa

     10.3 事件傳遞參數

<button @click="userClick">用戶</button>
<button @click="profileClick">檔案</button>



methods:{
  userClick(){
    this.$router.push('/user/'+this.id)
  },
  profileClick(){
      this.$router.push({
        path:'/profile',
        query:{ 
          name:'koko',
          age:18,
          height:188,
      })
  }
}

vur-router 導航守衛

  導航守衛就是路由跳轉過程中的一些鉤子函數

//index.js

router.beforeEach((function(to,from,next)=>{
    document.title = to.mathed[0].meta.title;
    next()
})


routes:[{
    path:'/about',
    component:About,
    meta:{
      title:'關於'
   }, 
}]

vue-router 路由獨享守衛

單個路由配置的時候設置鉤子函數


const router = new VueRouter({
    routes:[{
      path:'/about',
      component:About,
      beforeEnter:((to,from,next)=>{
            //...
         next()
          
   })
 }]
    
})

全局路由鉤子:beforeEach(to,from, next)、beforeResolve(to,from, next)、afterEach(to,from);

獨享路由鉤子:beforeEnter(to,from, next);

組件內部路由鉤子:beforeRouteEnter(to,from, next)、beforeRouteUpdate(to,from, next)、beforeRouteLeave(to,from, next)

 

 

 

SpringBoot+Flowable 6.8.0实战:5分钟搞定免登录流程图设计器 本文详细介绍了如何通过SpringBoot与Flowable 6.8.0深度整合,快速实现免登录流程图设计器的集成方案。通过排除默认安全配置、自定义安全策略和用户模拟服务,开发者可在5分钟内完成设计器的部署,适用于快速原型开发和企业内部工具搭建。 阅读详情

相关推荐

dxf-viewer 查看器

dxf-viewer SDK 的示例,它是一个基于 Three.js 和 Vue3 构建的基于 WebGL 的 BIM 模型查看器。它用于查看 DWG/DXF/PDF 文件。面积测量 - 角度测量 -标记。

qq_25547755的博客 866

vue-router实现原理

1、单页面应用 vue实现了单页面应用,什么是单页面应用呢,就是在网页上不刷新不跳转页面,你在网页上看到的所有页面跳转都是靠页面重新渲染完成的。就好比,你用手机看电子书,每看完一页,不是像实体书那样翻页,而是点击手机的下一页,手机在屏幕上再给渲染出下一页的内容。 vue没有真正意义上的页面跳转,所以页面间的跳转要靠路由完成,当url变化时,路由根据url的变化调用渲染页面的方法,渲染新的界面...

mengweiping的博客 846

TOEIC托业词汇汇总(完整版)

1.appointment 约会,约定2.attendance 出席人数;出席3.cabinet 橱柜4.calendar 日历;月历;行事历5.clerk 办事员,书记6.directory 人名住址薄7.duplicte 复制;副本8.filing 归档9.in-tray 待处理文件盒10.monitor 检测;监视;追踪11.out-tray 已处理文件盒12.partition 分隔;分隔物(如墙壁等)13.postage 邮费。

weixin_39676449的博客 1万+

【vue路由的原理,配置,传参】

例如:实现一些页面之间的互相跳转。提示:以下是本篇文章正文内容,下面案例可供参考例如:以上就是今天要讲的内容,本文仅仅简单介绍了vue路由的实现方法以及原理的使用,而vue提供了大量能使我们快速便捷地处理数据的函数和方法。

qq_72580318的博客 1995

别光看Demo了!用UE5 Lyra框架快速搭建你的多人对战游戏原型(含完整配置流程)

本文详细介绍了如何利用UE5 Lyra框架快速搭建多人对战游戏原型,包含完整的配置流程和实战案例。Lyra作为可直接二次开发的游戏模板,内置了GAS技能系统、Enhanced Input输入控制等核心功能,大幅缩短开发周期。通过替换角色模型、调整武器数值和配置新地图规则,开发者可在48小时内完成科幻团队竞技游戏原型的搭建。

weixin_28717411的博客 457

Unity Tilemap瓦片动态缩放:保持网格尺寸不变的三种实现方案

本文详细探讨了在Unity中实现Tilemap瓦片动态缩放同时保持网格尺寸不变的三种核心方案。针对编辑器静态调整、整体风格化处理及运行时动态控制等不同场景,分别解析了直接修改瓦片属性、调整Tilemap Renderer材质参数以及使用SetTransformMatrix与Matrix4x4矩阵变换的实践方法、优缺点及选型指南,为2D游戏开发提供灵活高效的视觉与交互解决方案。

grass的博客 628

Vue学习笔记十一:路由的跳转原理(哈希原理)

Vue学习笔记十一:路由的跳转原理(哈希原理) Vue版本:2.5.21 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale...

qq_45283247的博客 968

电流互感器的使用分析

有关电流互感器使用的注意事项,回头再看,耳目一新。

qq_46757048的博客 2万+

vue-router 跳转原理

vue-router路由的原理是通过改变网址,来实现页面的局部刷新,相比a标签跳转的不同之处在于,路由跳转不需要刷新整个页面。 大概流程可以看成:   1. 浏览器发出请求   2.服务器监听到端口有请求过来,并解析url路径   3.根据服务器的路由配置,返回相应的信息(可以是HTML字符串、也可以是json数据、图片等等)   4.浏览器根据数据包的 Content-type 来决定...

weixin_30655569的博客 1067

动态SLAM中的YOLO与ORB-SLAM3融合:实时目标检测与动态点云滤除实战

本文介绍了如何结合YOLOv5目标检测与ORB-SLAM3视觉SLAM系统,实现动态环境下的目标检测与视觉SLAM任务。文章详细阐述了从源码下载、依赖安装(包括libtorch配置)、编译运行步骤(包括ROS环境和非ROS环境下的编译方法),到RGBD-TUM数据集准备与关联处理的全流程。同时针对常见错误提供了解决方案,如libtorch路径配置、ROS环境冲突等。最后展示了系统运行方法,并探讨了未来可能的优化方向,包括增强目标检测能力和改进动态环境下的地图构建。该集成系统为机器人智能导航和环境感知提供了有

LXY_LOVE36的博客 237

YOLOv12 改进 | Backbone改进 3

将CSP中的简单拼接改为可学习的特征选择门控,动态决定哪些特征流向下一层,同样再写这篇。:相比静态CSP的固定50/50分割,门控机制可学习0.3:0.7等最优比例。在输入端加入轻量SR模块,对下采样后的特征进行超分恢复,提升小目标检测能力。(小目标): 从 0.51 AP → 0.63 AP (+24%):采用ESPCN的高效亚像素卷积,避免传统插值的信息损失。:从通道级(SE)到空间级(Spatial)的多粒度控制。:结合浅层细节和深层语义,恢复小目标的纹理信息。

u012133341的博客 841

vue-router路由(概念、作用、安装、示例)

一、 vue-router概念: 这里的路由并不是指我们平时所说的硬件路由器,这里的路由就是SPA(single page application单页应用)的路径管理器。再通俗的说,vue-router就是WebApp的链接路径管理系统。 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应

m0_45899013的博客 4万+

提交 ieee 手稿出现:Do not include the Reviewer PDF with my submission 怎么办

IEEE投稿Reviewer PDF选项说明 投稿时出现的"Do not include the Reviewer PDF with my submission"选项控制是否附带评审专用PDF文件。Reviewer PDF是系统自动生成包含所有投稿材料的完整PDF,用于同行评审。建议保持默认不勾选状态,除非确认编辑部不需要该文件,否则可能影响审稿流程。勾选表示不附带此PDF,不勾选则会正常生成并提交该评审文件。

ZhangJiqun&191cm&85kg 2208

vue-router 路由嵌套显示不出来_从头开始学习vuerouter

一、前言要学习vue-router就要先知道这里的路由是什么?为什么我们不能像原来一样直接用标签编写链接哪?vue-router如何使用?常见路由操作有哪些?等等这些问题,就是本篇要探讨的主要问题。二、vue-router是什么这里的路由并不是指我们平时所说的硬件路由器,这里的路由就是SPA(单页应用)的路径管理器。再通俗的说,vue-router就是WebApp的链接路径管理系统。 v...

weixin_39955732的博客 397

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Vue.js教程-Vue-router

Vue.js教程-Vue-router路由什么是路由后端路由阶段 路由 什么是路由 路由是通过互联的网把信息从源地址传输到目的地址的活动。 路由中有路由表(映射表),决定了数据的指向。 路由经常发生在第三层(网络层),而与它经常做比较的是桥接,桥接是发生在第二层(数据链路层)。 后端路由阶段 使用服务器直接渲染对应的HTML页面,并返回给客户端进行显示。 ...

CoderHqf的博客 3196

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【VUE】关于router-link以及router-view

页面上两个按钮,home以及about。 两个按钮分别对应不用的页面。 点击home跳转到home相对应的页面,点击about跳转到about相对应的页面。 先了解一下路由的基本概念 1, route,它是一条路由,由这个英文单词也可以看出来,它是单数,Home按钮 => home内容, 这是一条route, about按钮 => about 内容, 这是另一条路由。 2, routes 是一组路由,把上面的每一条路由组合起来,形成一个数组。[{home 按钮 =>home内容 }, {.

weixin_45884080的博客 2937

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

vue路由的传值、重定向、监听、跳转方式

vue路由的传值、重定向、监听、跳转方式

m0_59023231的博客 3896

vue-router原理

hash 1、 onhashchange事件 这是一个HTML 5新增的事件,当#值发生变化时,就会触发这个事件。IE8+、Firefox 3.6+、Chrome 5+、Safari 4.0+支持该事件。 它的使用方法有三种: window.onhashchange = func; <body onhashchange="func();"> window.addEventListene...

越思考越清晰 1757

【Vue2.0】黑马课程笔记(四)Vue-router

Vue-router(九)路由的基本概念与原理(1) Vue-router的基本使用1.1 Vue-router简介1.2 Vue Router的使用步骤(★★★)1.3 路由重定向(2) Vue-router的嵌套路由2.1 嵌套路由功能分析(3) Vue-router动态路由匹配3.1 动态匹配路由的基本用法3.2 路由组件传递参数(4) Vue-router命名路由4.1 命名路由的配置规则......

小女不才 1770

Vue前端路由vue-router

vue前端路由

sunbyte带你学 747

Vue-router 中 hash 和 html5 两种路由监听方式

如果你用过 Vue,那你一定知道 vue-router,它给开发者提供了两种路由方式。这两种不同模式的路由方式,它们对路由的监听方式也不同。

weixin_43443341的博客 2163

vue之vue-router,路由、多级路由、路由传参【SPA实现】

一、vue-router插件的安装 在工程目录下的终端执行以下命令 npm i vue-router 二、vue-router的基本使用【单级路由】 1、index.js路由配置文件 在src文件夹下新建router文件夹,并创建inedx.js文件 注意:我这里导入的两个路由组件我将它们放置了pages文件夹下。作用:将路由组件与一般组件区分 // 用于创建整个应用的路由器 import VueRouter from "vue-router"; // 引入组件(一级路由) import Ab

weixin_42390185的博客 2124

vue的路由跳转与路由嵌套

转载:https://blog.youkuaiyun.com/Mr_JavaScript/article/details/80744268 路由的原理是通过改变网址,来实现页面的局部刷新,相比a标签跳转的不同之处在于,路由跳转不需要刷新整个页面。 一、路由跳转 1、安装路由vue-router: npm install vue-router &amp;nbsp; 2、vue项目引入vue-ruoter: 3、配置...

leleccccc的博客 701

Vue-Router 基础使用

VueRouter是Vue.js官方路由管理器,用于构建单页应用(SPA)。它通过URL与组件映射实现无刷新页面切换,支持动态路由、嵌套路由和多种导航方式。基础配置包括路由安装、组件映射和<router-view>占位。动态路由通过参数(如:id)匹配不同内容,嵌套路由用children配置子视图。导航可通过router-link、$router.push或Composition API的useRouter实现。还提供404路由捕获和命名路由等高级功能。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 1085

vue-router是什么?对vue-router的实现原理,使用方式以及参数传递的了解

一、前言 二、vue-router是什么 三、vue-router实现原理 1、Hash模式:2、History模式:3、使用路由模块来实现页面跳转的方式 四、vue-router使用方式 五、vue-router参数传递 1、用name传递参数 2、通过标签中的to传参 3、利用url传递参数----在配置文件里以冒号的形式设置参数。 4、使用path来匹配路由,然后通过query来传递参数

前端程序猿的博客 1906

Vue_02_vue-router的基本使用

Vue-router 官方地址:https://router.vuejs.org/zh/ 在web中,路由分前端路由和后端路由。在后端路由中,每个URL都对应着服务器的一个资源;前端路由则负责实现页面跳转,不与服务器做交互。在大型单页面应用中,使用Vue配合Vue-router插件,可以很好的实现前端路由的跳转,让构建单页面应用变的简单 vue-router原理 通过3种方法实现路由跳转 ①:hash,默认(#) ②:history,HTML5新特性,比较新颖 ③:abstract,用于非浏览器环境(nod

LycLhsYYY的博客 323
上一篇: 父子組件通訊使用
下一篇: vue.js v-bind 可以做些什麼事呢
低調的D吖
博客等级 码龄14年 9粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值