首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    Vue router原理

    路由的本质就是建立url和页面之间的映射关系 router 模式 hash / history hash模式是vue-router的默认模式。 中实现原理 VueRouter核心是,通过Vue.use注册插件,在插件的install方法中获取用户配置的router对象。 1.url改变 2.触发事件监听 3.改变vue-router中的current变量 4.监视current变量的监视者 5.获取新的组件 6.render // 存储全局使用的Vue对象 let = Vue // 将main文件中实例化Vue对象时传入的router对象添加到Vue的原型链上。 $options.router) { _Vue.prototype.$router = this.

    70610编辑于 2022-09-18
  • 来自专栏进击的大前端

    实现自己的Vue Router -- Vue Router原理解析

    输入url 2. 请求发送到服务器 3. 服务器解析请求的地址 4. 拿到对应的页面 5. 返回页面 前端路由 1. 输入url 2. js解析地址 3. 找到地址对应的页面 4. 渲染页面 Vue-Router工作流程 vue-router的工作流程有如下几步 1. url改变 2. 触发监听事件 3. 改变vue-router里面的current变量 4. Vue插件 在使用Vue-Router之前我们都会调用下Vue.use,那Vue.use方法究竟是干嘛的呢? 为了实现我们的route插件,除了需要vue.mixin外,还需要vue.util,这是个工具类,里面主要有四个方法: 1. warn: 抛出警告 2. extend:类似于Object.assign, vue router

    86441发布于 2020-10-15
  • Vue2Vue3 中 Vue Router 用法与原理详解

    Vue2 中的 Vue Router (v3) Vue RouterVue.js 官方的路由管理器,专为构建单页应用(SPA)而设计。在 Vue2 生态中,vue-router@3 是标准选择。 核心原理分析 理解 Vue Router 的底层原理有助于我们更好地调试问题、优化性能,甚至自研轻量级路由库。 1.Vue Router 3 (Vue2) 原理Vue2 中,Vue Router 本质是一个 Vue 插件,通过 Vue.use() 注册后,会将 router 和 route 注入所有组件实例 Vue Router 4 (Vue3) 原理 Vue Router v4 彻底拥抱了 Vue3 的响应式系统和依赖注入机制。 总结 通过深入理解 Vue RouterVue2Vue3 中的用法和底层原理,开发者可以: 更好地组织单页应用(SPA)结构 实现高效的路由导航与状态管理 构建权限控制、懒加载、SEO 友好的现代前端应用

    59910编辑于 2025-11-30
  • 来自专栏进击的大前端

    自己实现一个Vue Router -- Vue Router原理解析

    输入url 2. 请求发送到服务器 3. 服务器解析请求的地址 4. 拿到对应的页面 5. 返回页面 前端路由 1. 输入url 2. js解析地址 3. 找到地址对应的页面 4. 渲染页面 Vue-Router工作流程 vue-router的工作流程有如下几步 1. url改变 2. 触发监听事件 3. 改变vue-router里面的current变量 4. Vue插件 在使用Vue-Router之前我们都会调用下Vue.use,那Vue.use方法究竟是干嘛的呢? vue.util.extend不同于vue.extend,vue.extend可以继承单个组件,然后渲染单个组件,可以用于单元测试 实现自己的Vue Router 前置知识都讲完了,下面正式开始写一个自己的 vue router

    45040编辑于 2022-09-16
  • 来自专栏火属性小虫

    VueRouter(路由)2

    , 17 8月 2021 作者 847954981@qq.com 前端学习 VueRouter(路由)2 在路由中,我们除了可以在 <router-link>中写入a标签来定义导航链接,还可以借助 Router实例方法,通过编程代码来实现 编程式导航 两种代码样式 声明式 编程式 <router-link :to=”…”> router.push(…) router.push使用方法 一、router.push 的参数为字符串路径 router.push方法是参数可以是一个字符串路径 router.push('user') router.push('/user') router.push('user') router.push 多个请求并发执行 如要是多个请求并发执行 可以使用 Promise.all async function asyncFn1() { return "优课达"; } async function asyncFn2( "学的比别人好一点"; } async function getAsyncFn() { const result = await Promise.all([asyncFn1(), asyncFn2(

    88860编辑于 2023-02-22
  • 来自专栏前端面试题总结

    手写vue-router核心原理

    <h2>this is personInfo page</h2>

    </template>vue全家桶视频讲解:进入学习js文件main.jsimport Vue from 'vue'import /App.vue'import router from './router'new Vue({ router, render: h => h(App)}). = new VueRouter({ routes});export default router;vue-router.js这里先借助Vue的工具Vue.util.defineReactive实现数据响应式 ) { Vue = _Vue // Vue全局混入,等new Vue中的router实例创建之后挂载到VueVue.mixin({ beforeCreate() { if (this $options.router) { Vue.prototype.$router = this.

    56620编辑于 2022-09-26
  • 来自专栏九旬大爷

    # Vue-router 原理解析

    # Vue-router 原理解析 参考: Vue-Router 官网:https://router.vuejs.org/zh/ Vue 技术揭秘/Vue-Router:https://ustbhuangyi.github.io /vue-analysis/v2/vue-router/ 插件机制:实现一个 install 方法,接受一个 Vue 实例。 # 路由注册 通过 Vue.use 的方式执行 vue-router 的 install 方方法,并将 Vue 实例传入进去。 通过 mixin 的方式,在 beforeCreate 和 destroy 中将逻辑混入在每一个组件上 监听路由改变使用的是 Vue 的双向绑定 然后给 Vue 原型上设置router和route两个属性 接着又通过 Vue.component 定义全局的<router-link>和<router-view>组件 this. this.

    63731编辑于 2023-10-18
  • 来自专栏九彩拼盘的叨叨叨

    vue-router2 写法示例

    Vue.js 做单页应用,一般都用 vue-router 做客户端路由。文档地址点这里。 注意:vue-router2 需要配合 Vue2 用。 配置路由 import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) var router = new Router( }, }, ... // 找不到路由的默认地址 { path: '*', redirect: '/' } ] }) new Vue '/Index' : ''}.vue`)); }) } HTML 要有 <router-view></router-view> 跳转页面 在 HTML中这么写 <router-link to="/home $router.go(1) router.push、 router.replace 和 router.go 是效仿 window.history API 的。 获取参数 this.

    62320发布于 2018-08-24
  • 来自专栏秋风的笔记

    手写Vue-router核心原理,再也不怕面试官问我Vue-router原理

    手写vue-router核心原理 一、核心原理 1.什么是前端路由? 2.如何实现前端路由? 二、原生js实现前端路由 1.基于 hash 实现 2.基于 history 实现 三、基于Vue实现VueRouter 四、剖析VueRouter本质 五、分析Vue.use 六、完善install方法 七、完善VueRouter类 八、完善$route 九、完善router-view组件 十、完善router-link组件 一、核心原理 1.什么是前端路由? Vue.use(plugin); (1)参数 { Object | Function } plugin (2)用法 安装Vue.js插件。 _router.history对应的收集器dep就会通知router-view的组件依赖的wacther执行update(),从而使得router-view重新渲染(其实这就是vue响应式的内部原理

    8.9K63发布于 2021-09-22
  • 来自专栏前端实验室

    vue-router原理分析与实践

    今天大师兄跟大家简单聊聊Router的实现原理,以及我们如何去实现这样一个插件。 Vue RouterVue.js官方的路由管理器。 关于Vue Router的使用就不做过多介绍了,大家可以前往Vue Router官网去学习哦~ vue-router插件的基本使用 import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({routes:[]}) export default router import /route' new Vue({ render: h => h(APP), router }) 从上述代码可以看出,router也是作为一个插件去使用的,所以在进行原理实践时候,我们开发的就是一个插件 插件开发思路 定义一个Router类,用来进行所有的router操作。定义一个install方法,将router挂载到Vue的实例上去。

    37411编辑于 2022-12-02
  • 来自专栏前端实验室

    vue-router原理分析与实践

    今天大师兄跟大家简单聊聊Router的实现原理,以及我们如何去实现这样一个插件。 Vue RouterVue.js官方的路由管理器。 关于Vue Router的使用就不做过多介绍了,大家可以前往Vue Router官网去学习哦~ vue-router插件的基本使用 import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({routes:[]}) export default router ​ import /route' new Vue({ render: h => h(APP), router }) 从上述代码可以看出,router也是作为一个插件去使用的,所以在进行原理实践时候,我们开发的就是一个插件 定义一个install方法,将router挂载到Vue的实例上去 注册全局组件router-link和router-view,router-link组件解析为一个a标签,router-view解析为一个

    50400发布于 2021-11-06
  • 来自专栏前端数据可视化

    Vite 搭建 Vue2 项目(Vue2 + vue-router + vuex)

    项目目录如下所示 1.2、安装 vite 对 vue2 支持的插件 要在 vite 里运行 vue2 项目,需要安装一个 vite 的插件:vite-plugin-vue2 npm install vite-plugin-vue2 1.3、安装 vue 依赖 使用以下命令安装 vue2。 npm run build 打包出来的项目目录名是:dist image.png 2、安装 vue-router 2.1、安装 npm install vue-router 在写本文时,使用以上命令安装的 vue-router 是支持 Vue2 项目的。 /App.vue' import router from './router/index.js' new Vue({  router,  render: h => h(App) }).

    8.1K62编辑于 2022-04-15
  • 来自专栏前端小叙

    vue-router 2 跳转失败原因

    $router.push('/'); }).catch((error) => { alert("aaa

    74480发布于 2018-04-12
  • 来自专栏老怪兽的前端之旅

    Vue Router

    本章简介

    84310编辑于 2023-02-22
  • 来自专栏Java 学习

    Vue Router

    Vue RouterVue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。 src="https://unpkg.com/vue-router/dist/vue-router.js"></script> ☞ 语法(src\router/index.js) import Vue from 'vue' import Router from 'vue-router' // 增加这一行, 作用是引入 MyPage 这个组件 import MyPage from '@/components ; } #nav { padding: 30px; a { font-weight: bold; color: #2c3e50; &.router-link-exact-active , component: User }, { path: '/user/2', component: User }, ] 1.2.5 嵌套路由 ☞ 概述   实际生活中的应用界面,通常由多层嵌套的组件组合而成

    1.4K30发布于 2020-09-28
  • 来自专栏青年码农

    Vue3项目使用Vue-router4(对比vue2配合Vue-router3)

    使用脚手架搭建的Vue3项目默认使用的路由版本是4,由于Vue3和Vue2写法差异较大,所以需要从新熟悉Router用法,本篇文章比较下两个版本的写法差异,不做深层次的讲解,主要是我也不懂。 1 Vue2配合Vue-router3 说多了没用,直接上代码 import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter 2 Vue3配合Vue-router4 import { createRouter, createWebHistory } from "vue-router"; import login from ". 3 跳转 Vue3和Vue2版本跳转区别挺大,因为this的问题。 Vue2跳转 this. $router.push({ path: "/index" }); Vue3跳转 import { useRoute, useRouter } from "vue-router"; export

    4.2K1414发布于 2021-01-05
  • 来自专栏Vue2

    vue2进阶篇:vue-routerrouter-link的replace属性

    $router}, */}</script>Home.vue<template>

    <h2>Home组件内容</h2>
    • <router-link 《vue2进阶篇:路由》第10章:vue-router,包括基础路由、嵌套路由、路由的query参数和params参数、命名路由、router-link的replace属性、编程式路由、缓存路由组件2. vue2进阶篇:安装路由3.vue2进阶篇:vue-router之基础路由4.vue2进阶篇:vue-router之嵌套(多级)路由5.vue2进阶篇:vue-router之路由的query参数6.vue2 进阶篇:vue-router之命名路由7.vue2进阶篇:vue-router之路由的params参数8.vue2进阶篇:vue-router之路由的props配置9.vue2进阶篇:vue-routerrouter-link的replace属性10.vue2进阶篇:vue-router之编程式路由导航11.vue2进阶篇:vue-router之缓存路由组件

    41210编辑于 2024-10-12
  • 来自专栏花猪的学习记录

    Vue学习-Vue router

    前言 本文将介绍Vue-router的使用。 ---- Vue-router 前端路由 前端路由的核心就是改变URL,但是页面不进行整体的刷新。 , 安装插件 Vue.use(VueRouter) // 2.创建VueRouter对象(将routes属性抽离出来写) const routes = [ ] const router = new 文件的模板中加入<router-link>和<router-view>的标签: <template>

    <h2>我是首页</h2>

    我是首页内容

    <router-link query#fragment 首先创建一个Profile.vue文件: <template>
    <h2>我是概述</h2>

    {{$route.query.name}} 对象中创建): <template>

    <h2>我是首页</h2>

    我是首页内容

    <router-link to="/home/news">新闻</router-link

    4.8K20编辑于 2022-02-17
  • 来自专栏前端知识铺

    前端路由简介以及vue-router实现原理

    通过这些就能用另一种方式来实现前端路由了,但原理都是跟 hash 实现相同的。用了 HTML5 的实现,单页路由的 url 就不会多出一个#,变得更加美观。 router 实现 我们来看一下vue-router是如何定义的: import VueRouter from 'vue-router' Vue.use(VueRouter) const router 是通过 Vue.use的方法被注入进 Vue 实例中,在使用的时候我们需要全局用到 vue-routerrouter-view和router-link组件,以及this. vue-router 实现 -- install vue-router 实现 -- new VueRouter(options) vue-router 实现 -- HashHistory vue-router 实现 -- HTML5History vue-router 实现 -- 路由变更监听 造轮子 -- 动手实现一个数据驱动的 router 经过上面的阐述,相信您已经对前端路由以及vue-router有了一些大致的了解

    1.8K60发布于 2018-06-06
  • 来自专栏全栈开发工程师

    Vue Router】013-Vue Router 与组合 API

    1.13 Vue Router 与组合 API 1.13.1 概述 实际上,我们在上面的代码里面已经尽量使用组合 API 了,在这里进行一个总结。 代码示例如下: import { useRouter, useRoute } from 'vue-router' export default { setup() { const router , onBeforeRouteUpdate } from 'vue-router' export default { setup() { // 与 beforeRouteLeave 相同, 1.13.4 useLink* Vue Router 将 RouterLink 的内部行为作为一个组合式 API 函数公开。 它提供了与 v-slot API同的访问属性: import { RouterLink, useLink } from 'vue-router' export default { name:

    37810编辑于 2025-01-06
  • 领券