SPA必备技能——vue-router详情

【Vue全家桶】Vue-Router (详解) ​ **前端渲染:**每次请求涉及到的静态资源都会从静态资源服务器获取,这些资源包括HTML+CSS+JS,然后在前端对这些请求回来的资源进行渲染。​ 使用push的特点是压入一个新的页面,那么在用户点击返回时,上一个页面还可以回退,但是如果我们希望当前页面是一个替换 操作,那么可以使用replace。​ 组件的本身也有组件需要内部切换,这个时候就可以采用嵌套路由,在第一层路由中也使用router-view来占位之后需要渲染的组件。以根据自己不同的需求加载不同的路由,做到不同的实现及页面的渲染。... 阅读详情

1.路由是什么

​ 首先我们需要搞清楚路由是什么东西

摘自维基百科:通过互联的网络把信息从源地址传输到目的地址的活动.

其实也就是说,当我们在浏览器中的地址栏输入不同的url时,浏览器为我们展示不同的页面时,这就是一个路由的过程。

路由中其实包括有一个比较重要的概念叫做路由表:路由表的本质就是一个映射表,它决定了我们数据的指向。

路由也分为两个时期,在这两个时期,都有各自的方式来实现路由。这两个时期分别为后端路由和前端路由。

1.1 后端路由

在早期的网站开发时,前后端是在一个服务器开发的,也就是说我们常说的服务器端渲染。

当用户向服务器发送请求,服务器再根据url返回不同的html页面给前端。当我们页面中需要请求不同的路径内容时, 交给服务器来进行处理, 服务器渲染好整个页面, 并且将页面返回给客户。

这一操作就是后端路由。

优点: 不需要单独加载任何的js和css, 可以直接交给浏览器展示, 这样也有利于SEO的优化.

缺点: 过于混乱,前后端分工不明确,服务器压力大

1.2 前端路由

对于前端路由来说,路由的映射函数通常是进行一些DOM的显示和隐藏操作。这样,当访问不同的路径的时候,会显示不同的页面组件。也就是说我们如何实现改变url但是页面不进行整体的刷新。

前端路由的出现要从 Ajax开始,有了 Ajax 后,用户交互就不用每次都刷新页面,体验带来了极大的提升。随着技术的发展,简单的异步已经不能满足需求,所以异步的更高级体验出现了——SPA(单页面富应用)

其实SPA最主要的特点就是在前后端分离的基础上加了一层前端路由。也就是前端来维护一套路由规则

前端路由的实现:

实现方式有两种,一种是hash,一种是利用HTML5中BOM的history。

通过这两种方式改变url但是页面不会进行刷新。

hash:

早期的前端路由的实现就是基于location.hash来实现的。其实现原理也很简单,location.hash的值就是URL中#后面的内容。

实例:

location.hash='bar'

History API:

主要可以使用方法pushState()和replaceState(),前者将我们的路由值压入栈中,然后可以使用go等方式进行来回访问,但是后者只能替换当前的路由,没有history可以替换。

history.pushState({},'','a')
history.pushState({},'','b')
history.pushState({},'','c')
history.go(-2)//a

2. vue-router基本使用

vue-router是Vue官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。路由用于设定访问路径, 将路径和组件映射起来.

在vue-router的单页面应用中, 页面的路径的改变就是组件的切换.

安装(使用脚手架的话我们直接可以选择初始化这些操作):

npm install vue-router --save

2.1 搭建路由的框架:

  1. 第一步:导入路由对象,并且调用 Vue.use(VueRouter)下载插件
  2. 第二步:创建路由实例,并且传入路由映射配置
  3. 第三步:在Vue实例中挂载创建的路由实例

router代码:

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
  routes: [
  ]
})

挂载实例代码:

import router from './router'
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

2.2 配置路由的映射关系

  1. 第一步: 创建路由组件
  2. 第二步: 配置路由映射: 组件和路径映射关系
  3. 第三步: 使用路由: 通过和

配置路由组件:

 routes: [
    {
      path: '/hello',
      component: HelloWorld
    },
    {
      path:'/home',
      component:home
    },
    {
      path:'/about',
      component:about
    }
  ]

使用路由:

<template>
  <div id="app">
    <router-link to="hello">hello</router-link>
    <router-link to="home">home</router-link>
    <router-link to="about">about</router-link>
    <router-view></router-view>
  </div>
</template>

注意:

  1. : 该标签是一个vue-router中已经内置的组件, 它会被渲染成一个标签
  2. : 该标签会根据当前的路径, 动态渲染出不同的组件.
  3. 网页的其他内容, 比如顶部的标题/导航, 或者底部的一些版权信息等会和处于同一个等级.

关于router-link标签的其他操作:

router-link标签还可以指定渲染成不通过的标签,可以使用tag属性进行设定。

router-link标签的默认跳转行为是push(出入栈)的形式,我们可以直接进行指定replace属性进行改变为replace的属性。

 <router-link to="about" tag="button" replace="">about</router-link>

2.3 设置默认路由

默认路由就是当我们刚进入页面时展示的路由,这需要我们再router中配置映射关系,只需要加入一个配置即可

  {
      path:'/',
      redirect:'/home'
  },

2.4 改变前端路由模式

再默认情况下,我们vue-router使用的时hash的方式来进行路由处理,前文说到,我们路由操作有两种方式,我们也可以通过下面代码将路由的模式改变为history的方式:

只需要再创建router实例的地方,增加mode参数即可

export default new Router({
  routes: [
  ],
  mode:'history'
})

2.6 使用代码跳转路由

如果我们在开发过程中不想使用router-link标签,我们这里可以自己定义一个标签,然后自己加逻辑来实现路由跳转操作。

其中使用的是Router插件为我们提供的全局的一个属性$router.该属性可以直接指定通过push方法和replace方法来进行指定路由进行跳转。

实例:

aboutclick() {
      this.$router.push("/about");
},

注意:在使用这种方式跳转时,在Vue-Router 3.1的版本以前是没有什么问题的,但是在以后$router.push()`方法改为了Promise。所以假如没有回调函数,错误信息就会交给全局的路由错误处理,因此就会报以下的错误。

[NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated"}]

有两种方法可以解决:

  1. 切换版本(=没说)
  2. 禁止全局路由错误处理打印,这个也是vue-router开发者给出的解决方案:在定义VueRouter的地方添加以下代码
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}

2.7 动态路由

如果学习过nodejs或者了解一些后端知识的话,会发现这里的动态路由和其是非常相像的,它不需要我们给其传入一个固定的值,这一场景可能会出现在商品的分类展示上,当用户点击相应的入口时我们路径可能是:/product/man或者/product/women。

这种方式除了我们固定的product以外,后面还跟了product的细分,再通过这些展示不同的数据。我们也将这一操作称为动态路由。

这需要我们在设置映射关系时这样操作:

 {
      path:'/product/:classify',
      component:person
 }

然后在使用时加入我们的动态内容:

 <router-link :to="'/product/' + classify">home</router-link>//classify为动态数据

其实这样就可以实现动态路由了。如果我们还想再组件中输出我们的classify的变量,可以使用$route属性,这个属性是获取当前活跃的路由信息。

 <p>{{ $route.params.userid }}</p>

2.8 路由懒加载

关于路由的懒加载,官方给我们的解释为:

当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

其实就是说我们的每一个路由对应的就是一个给用户展示的页面,然而按照常规的操作这些页面最终会通过webpack打包为一个bundle.js的文件,因此就造成了这个页面十分的庞大,所在在请求的时候可能会花费一定的时间,给用户造成不好的体验。因此我们可以通过路由懒加载的方式来解决这个问题。也就是说不同的路由页面打包成不同的js文件,这样就解决了服务器耗时的问题。

在我们未使用懒加载时,打包vue项目会生成三个文件,一个是app的所有业务代码,一个是组织管理模块关系的代码,还有一个就是项目引入第三方的代码。
在这里插入图片描述

接着我们看一下实现懒加载的方式:有三种方式分别是结合异步组件的方式,AMD的方式,es6模块化的方式

在ES6中, 我们可以有更加简单的写法来组织Vue异步组件和Webpack的代码分割.所以我们就是用最简单的方式:

 component: () => import('../components/about.vue') 

实例:

 routes: [
    {
      path: '/',
      redirect: '/home'
    },
    {
      path: '/hello',
      component: () =>import('../components/HelloWorld.vue') 
    },
    {
      path: '/home',
      component: () => import('../components/home.vue')  
    },
    {
      path: '/about',
      component: () => import('../components/about.vue') 
    },
    {
      path: '/person/:userid',
      component: () => import('../components/person.vue') 
    }
  ],

这样一来的最终的打包结果:

在这里插入图片描述

我们发现每个路由界面都有一个js文件,这样一来就可以做到我们按需加载的要求,减轻了服务器的压力

3. vue-router嵌套路由

为什么要嵌套路由,当我们的路由组件中需要嵌套不同的界面时,比如我们的选项卡切换操作就是最好的使用场景

我们的大概操作流程就是:

  1. 先定义好我们的子路由组件
  2. 在路由映射表中的父路由中使用children属性定义子路由
  3. 在父路由足见中使用子路由(正常使用)

看一个栗子:

这里我们的需求是在home路由中嵌套两个组件分别是homemessage和homenews,然后分别通过/home/homemessage和/home/homenews来访问他们的内容
在这里插入图片描述

在映射表中定义子路由实现:

 {
      path: '/home',
      component: () => import('../components/home.vue'),
      children:[
        //设置默认路由
        {
          path:'',
          redirect:'homemessage'
        },
        {
          path: 'homemessage',
          component: () => import('../components/homemessage.vue'),
        },
        {
          path: 'homenews',
          component: () => import('../components/homenews.vue'),
        }
      ]
    },

我们这里均使用懒加载进行导入组件。这里还需要注意的是在子路由的path中,地址前面是不能加‘/’的。

在父路由中使用:

<router-link to="/home/homemessage">消息</router-link>
<router-link to="/home/homenews">新闻</router-link>
<router-view></router-view> 

4. vue-router参数传递

4.1 参数传递的两种方式

关于路由的参数传递问题大概一共有两种方式

第一种就是在动态路由时我们讲过的使用字符串拼接的形式从跳转页传递参数,再使用$route.params.参数名进行接受

第二种就是我们现在要将的使用query的形式。

首先我们再跳转时可以在标签上动态绑定一个对象,给其传入path和query对象,其中query对象的内容就是我们想要传入data的内容(如下示例所示):

  <router-link
      :to="{
        path: '/about',
        query: {
          id: '001',
          name: '张三',
          sex: '男',
        },
      }"
      >about</router-link
    >

接着第二步就是使用$route.query接收使用其参数

<p>{{ $route.query}}</p>
<p>{{ $route.query.name}}</p>
...

这就是我们router种参数的传递。

r o u t e 和 route和 route和router的区别:

r o u t e r 为 V u e R o u t e r 实 例 , 想 要 导 航 到 不 同 U R L , 则 使 用 router为VueRouter实例,想要导航到不同URL,则使用 router为VueRouter实例,想要导航到不同URL,则使用router.push方法

$route为当前router跳转对象里面可以获取name、path、query、params等

5. vue-router导航守卫

导航守卫的作用一般是用来监听我们当前的路由进出情况。

我们可以想象一个场景,在一个spa页面我们如果切换路由界面时,想要title实时刷新的话,我们应该怎么做。

其实我首先想到的是在利用每一个路由的生命周期函数,在刚开始create组件的时候来使用document.title来进行title的转换。

但是这样做是不是有点太low了,并且比较繁杂,这时就可以使用我们的前置导航守卫beforeEach。

这是router实例的一个方法,参数是一个含有三个参数的函数。分别to、from、next。根据源码我们可以看出to和from都是router类型,一因此就可以操作他们来进行我们的router内的操作。

export type NavigationGuard<V extends Vue = Vue> = (
  to: Route,
  from: Route,
  next: NavigationGuardNext<V>
) => any

所以关于我们上面的需求,我们就可以这样做:

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

meta需要在router的映射表里设置路由原信息meta相关的数据。

关于to返回的数据我们可以看一下:

在这里插入图片描述

注意这里我们最好使用matched数组来进行设置相关信息,因为这是我们一个路由及其里面所有的嵌套路由的实例。如果你确定你的router里没有嵌套的router,那么你可以使用外层的mate属性来进行设置。

**补充:**除了前置导航守卫以外我们其实还有后置导航守卫,路由导航守卫,以及组件内的导航守卫等等。我们可以在不同的场景下来使用不同的守卫。。

6. 使用keep-alive缓存路由界面

keep-alive经常被用来缓存组件,从而达到节省性能的目的。

当然keep-alive也可以缓存我们的路由,我们的路由界面其实都是一个组件,而每个组件又是一个vue的实例,vue的实例又遵循vue的声明周期,因此当我们切走当前的路由界面时,我们当前的组件也会被销毁,当第二次再进入时再去从create开始创建我们的组件。

因此就有了一个明显的需求。当我们再a路由界面执行了某些操作后,再切入b页面,当b页面的操作做完以后我们想要切回a继续做之之前的事情。如果我们没有使用keep-alive的时候会发现我们不会达到上面的需求。

当然业务不同需求不同,也有的需要我进入时重新构建dom。

所以我们来看看用法:

    <keep-alive>
      <router-view></router-view>
    </keep-alive>

其实只需要router-view上层包裹一层keep-alive标签就可以达到我们缓存的效果了。

在keep-alive里还有连个类似于声明周期函数的两个钩子函数deactivated和destroyed函数。

分别是在组件活跃和不活跃时调用。所以我们也就可以在deactivated函数里面操作一些一进入界面就需要操作的一些业务。

还有关于includ和exclude的使用,分别是通过组件的name属性指定:

<keep-alive include="home,about">
      <router-view></router-view>
</keep-alive>
<keep-alive exclude="hello">
      <router-view></router-view>
</keep-alive>
Vue Router 4 从入门到实战:Vue3 路由管理与SPA开发指南 在单页面应用(SPA)开发中,路由系统是核心架构之一,它负责管理应用内不同视图之间的导航与状态。其基本原理是通过监听URL变化,根据预定义的路由规则匹配并渲染对应的组件,从而实现无刷新页面切换。这项技术对于构建流畅的用户体验至关重要,尤其在后台管理系统、内容网站等复杂应用中。Vue Router作为Vue.js生态的官方路由库,在Vue3时代全面拥抱组合式API,提供了更现代化的开发体验。它通过声明式导航组件 `<router-link>` 和渲染出口 `<router-view>` 简化开发,并支持动态路 阅读详情

相关推荐

vue面试题整理

目录 1、对MVVM的理解 2、vue常见指令 3、v-if 和 v-show 有什么区别? 4、Vue核心思想:数据驱动、组件化 5.Vue 生命周期 6、组件中 data 为什么是一个函数? 7、Vue 组件间通信有哪几种方式? 8、computed 和 watch 的区别和运用的场景? 9、虚拟 DOM 10、vue-router 路由模式有几种?vue-router 有 3 种路由模式:hash、history、abstract 1、对MVVM的理解 MVVM分为Mo..

天道酬勤的博客 7233

SPA & vue-router基本使用 & 组件化(接上)

最近开始写页面了,但是配置路由发现写的很生疏,回头总结一下。评价为不能只听课不写代码,迟早都得还的。

qq_64036795的博客 220

Vue (vue-router)路由

一、路由 1. 路由的基本概念与原理 路由是一个比较广义和抽象的概念,路由的本质就是对应关系 在开发中,路由分为:后端路由 , 前端路由 2. 后端路由 概念:根据不同的用户 URL 请求,返回不同的内容 本质:URL 请求地址与服务器资源之间的对应关系 3. SPA(Single Page Application) 后端渲染(存在性能问题) Ajax前端渲染(前端渲染提高性能,但是不支持浏览器的前进后退操作) SPA(Single Page Application...

yexiang优快云的专栏 305

Vue路由

一、Vue路由: 1. SPA是什么 单页Web应用(single page application,SPA),就是只有一个Web页面的应用, 是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序 单页面应用程序: 只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中 传统...

weixin_44557427的博客 590

svelte-spa-router:使用Svelte 3的SPA路由器

Svelte 3启动并运行 是否想学习Svelte 3以及如何使用它(以及此路由器)构建单页应用程序(SPA)? 查阅我的书《 on Amazon》。 svelte-spa-router 该模块是用于应用程序的路由器,专门针对单页应用程序(SPA)进行了优化。 主要特点: 利用基于散列的路由,这是SPA的最佳选择,不需要任何服务器端处理 易于使用,并且占用空间极小 使用微小的解析路由,并支持参数(例如/book/:id? )等 该模块是根据MIT许可发布的。 视频 “那么你想选一个路由器吗?” @ItalyPaleAle在2020年Svelte峰会上的演讲。其中包括对两种路由器的解释以及svelte-spa-router的演示。 (点击封面图片可在YouTube上播放视频) 基于哈希的路由 使用基于哈希的路由,由于将当前视图存储在URL中位于#之后的部分(称为“哈希”或“片段”)中

图像去雾新思路:手把手教你复现DEA-Net中的“细节增强卷积”与PyTorch实现

本文详细解析了DEA-Net中的'细节增强卷积'(DEConv)与PyTorch实现,通过多分支差分卷积和重参数化技术,显著提升单图像去雾效果。文章从数学原理到代码实现,手把手指导复现这一创新架构,帮助开发者在保持轻量化的同时实现41dB以上的PSNR指标,适用于自动驾驶、遥感监测等关键领域。

weixin_30323631的博客 505

vue router(spa)

router相关

加油小伙子 246

cosi-corr操作详细步骤

cosi-corr是一个可以加载到ENVI的软件包,由加利福尼亚理工学院的François Ayoub,  Sébastien Leprince,  and Lionel Keene开发,并且提供源代码,该软件受到了NSF的资助。软件的主要功能是可以满足各种影响的正射校正和影像配准。 针对下载下来的软件包参考《cosi-corr_guide.pdf》,进行配置使用具体详细过程如下: (本机环境

u013299471的专栏 1万+

利用Vue Router实现单页面应用(SPA)

单页面应用(SPA)是一种利用 JavaScript 实现的网页应用,用户在与应用交互时,应用只加载一次网页。这种方式极大地提升了用户体验,因为它通过 AJAX 请求获取数据,避免了完整的页面刷新,从而提供流畅的使用体验。Vue.js是一个渐进式 JavaScript 框架,特别适合构建用户界面。Vue 的核心是一个响应式的视图层,使用它可以更加高效地处理用户界面。Vue Router 是 Vue.js 官方的路由管理库,能够轻松地在单页面应用中实现页面导航与状态管理。

有我更精彩的博客 1241

STM32H750实战:用TIM+DMA驱动ADC/DAC实现音频回环(附CubeMX配置避坑指南)

本文详细介绍了在STM32H750上构建高保真、低延迟音频链路的实战方法。通过配置TIM定时器作为硬件节拍器,精准触发ADC采集与DAC播放,并利用DMA实现数据的自动搬运,全程无需CPU干预。文章重点剖析了CubeMX配置中的关键步骤与常见“坑点”,如ADC的Conversion Data Management模式选择、DMA的FIFO与Burst模式配置,以及STM32H7系列必须开启ADC全局中断等,并提供了完整的代码实现与调试验证指南。

1057

量化策略分享 | MA超进化:LLT低延迟趋势线

移动平均线(MA)是我们技术分析中常用的一种趋势跟踪指标,但在使用的时候你是否也会有这样的烦恼:交易信号延迟太久,或者交易信号太频繁了!延迟性和平滑性问题似乎是不可兼得的“鱼和熊掌”。 针对这个问题,广发证券基于通信领域的滤波器原理,在《短线择时策略研究之三:低延迟趋势线与交易性择时》中创造性构建了:LLT低延迟趋势线(Low-lag Trendline)。 LLT低延迟趋势线是一种二阶滤波器,阶数相对适宜,相比MA、EMA等均线指标能够降低延迟,同时增强在低频部分的输出信号。 当然,..

量化交易研究 5310

【Vue入门必备知识篇05】--- Vue Router路由

前言 ❤️ 当落日余晖照在身上,没有污秽没有杂尘,只有光和希望 ❤️

battledao的博客 3043

微信小程序订阅消息实战:如何绕过长期订阅限制实现多次发送(附PHP代码)

本文针对微信小程序开发者无法获取长期订阅消息权限的痛点,提供了一套完整的实战解决方案。通过深入剖析一次性订阅与长期订阅的规则差异,结合巧妙的交互设计、稳健的PHP服务端发送引擎(含高并发处理与失败重试机制)以及授权池管理等高级策略,帮助开发者在合规前提下,构建高可用的消息推送系统,有效提升通知触达率与用户体验。

weixin_29008805的博客 623

前端必备技能Vue-router

众所周知vue是前端三大框架之一,在国内拥有非常大的市场,而进行Vue的学习,router(路由)是必不可少的,那么接下来就让我给大家介绍一下吧!如果有用,欢迎大家点赞,收藏一起学习… SPA 什么是SPA? Single Page Application,中文:单页应用。 以下两个链接请用浏览器的手机模拟器打开: 单页应用有很多,比如:https://m.huxiu.com/ 非单页应用也是以往的开发习惯,比如:https://36kr.com/ Vue-router(路由) 一、什么是路由? 说起路由你

weixin_45257157的博客 620

Unity 面试篇|(三)设计模式篇 【全面总结 | 持续更新 | 建议收藏】

设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。设计模式与方法或库的使用方式不同, 你很难直接在自己的程序中套用某个设计模式。模式并不是一段特定的代码, 而是解决特定问题的一般性概念。你可以根据模式来实现符合自己程序实际所需的解决方案。常常会混淆模式和算法, 因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。同一模式在两个不同程序中的实现代码可能会不一样。单例模式。

游戏开发小Y的博客 12万+

畅游Diffusion数字人(0):专栏文章导航

畅游Diffusion数字人(0):专栏文章导航

沉迷单车的追风少年 1421

必备-13.vue-router

必背-11.vue-router 什么是vue-router vue-router:Vue的路由 网址: 多页面/单页面 前端路由有哪些? 前端路由(vue-router/react-router-dom) 实现SPA(single page application):单页面应用 一个项目只有一个页面,我们基于路由,控制页面展示不同的代码片段(或组件),当展示内容改变的时候,页面并不会刷新 MPA(multi page application):多页面应用 一个项目有很多页面,我们做的是页面之

pinganaaa的博客 2022

【云原生技术】K8s 在拉取镜像时报错tls: failed to verify certificate: x509: certificate signed by unknown authority

原因 Kubernetes 节点在拉取镜像时会对 Harbor 的 HTTPS 证书做严格校验; 日志里的核心报错是: ``` tls: failed to verify certificate: x509: certificate signed by unknown authority ``` 说明 Harbor 返回的服务器证书要么是自签发,要么缺少在系统信任链里的根/中级 CA,节点因此拒绝连接。 你需要让 **所有负责拉镜像的节点(containerd 或 Docker 守护进程)

weixin_46453070的博客 2875

vue学习之vue-router

今天分享一个十分重要的前端技术,vue-router,路由。在所有的vue项目中都需要使用到的技术,你说重不重要。 1.vueRouter的理解 一个路由(route)就是一组映射关系(key - value),多个路由需要路由器(router)进行管理。 vueRouter是vue 的一个插件库,专门用来实现 SPA 应用 SPA单页面应用参考:单页面应用(SPA) - 一只菜鸟攻城狮啊 - 博客园 2.配置vueRouter //引入VueRouter i...

Im_xiaopei的博客 229

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Vue Router Router-link 组件深度解析:构建单页应用导航的核心基石

本文深入探讨了 Vue Router 中的 router-link 组件,详细解析了其核心属性(如 to、replace、active-class 等)以及底层渲染机制。通过流程图展示了导航过程,并提供了自定义激活样式和页面过渡动画的实战代码,帮助开发者高效使用该组件。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 575

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vue中router-link标签所必备了解属性

to 表示目标路由的链接。 当被点击后,内部会立刻把 to 的值传到 router.push(),所以这个值可以是一个字符串或者是描述目标位置的对象。 <!-- 字符串 --> <router-link to="home">Home</router-link> <!-- 渲染结果 --> <a href="home">Home</a...

流绪@微梦 3614

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Vue3.0 Router 路由

1,router-link(页面跳转) 我们没有使用常规的 a 标签,而是使用一个自定义组件 router-link 来创建链接。这使得 Vue Router 可以在不重新加载页面的情况下更改 URL,处理 URL 的生成以及编码。 <router-link to="/about"> <template> <div id="main"> <router-view class="views has-tabs" /> <div clas.

把全世界的花都给一个人 1065

hash模式:SPA路由管理

文章摘要: 在Web开发中,URL的hash部分常用于页面内部导航和单页应用(SPA)的路由管理。通过改变hash值,用户可以在不刷新页面的情况下跳转到特定部分,或实现无刷新页面跳转。hash模式兼容性好、实现简单,但存在URL不美观和SEO不友好的缺点。尽管有这些不足,hash在特定场景下仍是一个实用的选择,尤其是在需要兼容旧浏览器或简化路由管理时。

你若盛开,清风自来 976

【Vue】如何搭建SPA项目--详细教程

Vue CLI是一个基于Vue.js的官方脚手架工具,用于快速启动、构建和管理Vue.js项目。它提供了一套交互式的命令行界面,可以帮助开发者快速创建一个新的Vue项目,并集成了常用的开发工具和配置,比如代码打包、开发服务器、热重载等等。使用Vue CLI,开发者可以更加高效地进行Vue.js项目开发,节省了配置的时间和精力。同时,Vue CLI还支持插件系统,可以通过插件扩展功能,满足不同项目的需求。总之,Vue CLI是Vue.js开发的必备工具之一。

2301_76988707的博客 517

Vue Router 的使用指南

本文详细介绍了Vue Router的安装配置与核心功能。主要内容包括:1)通过npm/yarn安装Vue Router 4;2)创建路由实例并配置基本路由;3)使用router-view和router-link实现路由切换;4)动态路由匹配与参数获取;5)嵌套路由的实现方式;6)全局/路由独享/组件内三种路由守卫的使用;7)编程式导航方法;8)路由懒加载优化性能。此外还提供了路由不更新的常见解决方案,帮助开发者快速掌握Vue Router的核心功能。

你若盛开,清风自来 1739
上一篇: vue-router优化之懒加载
下一篇: 什么是Vuex?应用场景?
小牲口online
博客等级 码龄8年 116粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值