首页 > 其他分享 >Vue-router之页面跳转

Vue-router之页面跳转

时间:2024-06-01 19:59:01浏览次数:12  
标签:vue URL Vue 跳转 router 路由

目录

1.Vue  Router

1.1Vue Router的简介

1.2安装

1.3创建路由器实例

2. router-link 页面跳转

2.1 .router-link简介

2.2使用路由对象的query属性进行传参


1.Vue  Router

1.1Vue Router的简介

官方文档见:https://router.vuejs.org/zh/introduction.htmlicon-default.png?t=N7T8https://router.vuejs.org/zh/introduction.html

Vue Router 是Vue.js官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。功能包括:

  • 嵌套路由映射
  • 动态路由选择
  • 模块化、基于组件的路由配置
  • 路由参数、查询、通配符
  • 展示由 Vue.js 的过渡系统提供的过渡效果
  • 细致的导航控制
  • 自动激活 CSS 类的链接
  • HTML5 history 模式或 hash 模式
  • 可定制的滚动行为
  • URL 的正确编码

1.2安装

方式一:如果你是通过vue-cli脚手架来搭建项目,则在配置过程就会选择是否加载路由。

选择是(y),则后面下载依赖时会自动下载。

vue-cli脚手架来搭建项目的命令为:

npm create vue@latest

注意:示例版本为:"vue": "^3.4.21","vue-router": "^4.3.0"

方式二:安装依赖包

命令为:

npm install vue-router@4

1.3创建路由器实例

路由器实例是通过调用 createRouter() 函数创建的:

具体代码:

import { createRouter, createWebHistory } from 'vue-router'
import HomeView from '../views/HomeView.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: HomeView
    },
  ]
})

其中, createWebHistory() 是 Vue Router 提供的一种基于浏览器 history API 的路由模式,它使用了 HTML5 中的 history.pushState 和 history.replaceState 方法来实现路由跳转。这种模式可以使得 URL 更加直观,而且不会在 URL 中添加任何特殊字符。

例如:https://example.com/user/id

官方文档见:不同的历史模式 | Vue Router (vuejs.org)icon-default.png?t=N7T8https://router.vuejs.org/zh/guide/essentials/history-mode.html


2. router-link 页面跳转

2.1 .router-link简介

<router-link> 是一个全局组件,它默认会被渲染成一个带有链接的a标签,router-link 定义了11给自定义属性,其中 to 属性指定链接地址。

to:

类型:string 类型或是 RouteLocationRaw(用户级别的路由位置)

默认值:to 为必填项

作用:当RouterLink 被点击后,它的值会被传递给router.push从而实现路由的切换。

实例:

<router-link to="/about">router-link跳转到about页面</router-link>

a标签和RouterLink的区别:如果直接使用a标签,则当用户点击链接实现跳转时,整个页面都会刷新一下;而使用RouterLink的目的为了实现 在不重新加载页面的情况下,更改URL,出URL的生成以及编码。

2.2使用路由对象的query属性进行传参

<template>
  <div>
     <router-link :to="{ path: '/about', query: { id: 11, name: 'zhangsan' } }">
router-link的带query跳转到about页面
     </router-link>
  </div>
</template>

其中,path:'/about'为路由路径,query中设置传递参数的数值,这样当用户点击链接后,不仅会导航到指定的路径(/about),还会将id和name作为查询参数附加到 URL 上。类似于'https://localhost:8080/about?id=11&name=zhangsan'

标签:vue,URL,Vue,跳转,router,路由
From: https://blog.csdn.net/integermain/article/details/139233990

相关文章

  • 基于uniapp+vue+nodejs高校食堂餐厅点餐系统2x2v4 小程序hbuilderx
    近年来,我国餐饮业发展的质量和内涵发生了重大的变化。行业的经营领域和市场空间不断变化,经营档次和企业管理水平不断提高,经营业态日趋丰富,投资主体和消费需求多元化特点更加突出,网点数量和人员队伍继续扩大;餐饮市场更加繁荣,消费的个性化和特色化的趋势明显,追求健康营养和连锁规......
  • vue3随笔
    vite:相比webpack webpack先通过入口文件找依赖 然后打包bounder然后启动devServervite 直接启动devServer然后找依赖模块由浏览器去请求本地服务返回依赖模块项目越多模块越大vite越好效率提升静态提升 静态节点 没有动态绑定的内容会提升到render函......
  • vue3 && uni-app 中小程序实现 底部tabbar 中间凸起部分 或者说自定义底部tabbar [保
    1、先来看一下效果2、代码实现 我们还是在pages.json 中正常配置我们底部的tabbar但是需要添加一个字段 "custom":true,//开启自定义tabBar 不填每次原来的tabbar在重新加载时都回闪现3、在pages同一级或者里面创建一个子组件用来放我们的模版 4、在......
  • Vue3的自动化测试怎么做?详细说明一下常用的测试工具和框架
    随着前端技术的飞速发展,Vue3作为一个优秀的前端框架,已经广泛应用于各类项目中。在开发过程中,为了提升代码质量、减少运维成本,自动化测试变得尤为重要。不仅可以提高开发效率,还能确保产品的稳定性。那么,Vue3自动化测试该怎么做呢?本文将详细介绍常用的测试工具和框架。为......
  • Vue3中的不同生命周期钩子是如何演变的?他们与传统的Vue2生命周期钩子有何不同?
    随着JavaScript生态系统不断演变,前端框架也在不断进化,以便提供更强大、更简洁的开发体验。Vue.js作为一个流行的前端框架,也在其最新版本Vue3中进行了重大更新,其中一个显著的变化就是生命周期钩子的演变。本文将详细探讨Vue3中的不同生命周期钩子是如何演变的,并对比它们与......
  • Vue事件总线
    constlisteners={};exportdefault{//监听某一个事件$on(eventName,handler){if(!listeners[eventName]){listeners[eventName]=newSet();}listeners[eventName].add(handler);},//取消监听$off(e......
  • vue3 状态管理库pinia使用测试
    Home.vue组件中使用测试<template><divclass="home"><div>fone:{{fone}}</div><div>ftwo:{{ftwo}}</div><div>ffour:{{ffour}}</div><div&g......
  • 全开源源码---小红书卡片-跳转微信-自动回复跳转卡片-商品卡片-发私信-发群聊-安全导
    做小红书的人都知道小红书的用户商业价值非常高,消费能力很强,很多做高客单产品的都想从小红书平台上引流到私域成交,但是都会遇到账号违规、被封的问题,因为小红书的平台是所有平台里对引流导流最严的。不允许留公众号、手机号、微信号等联系方式,一旦被发现就会面临封禁等处罚。......
  • 开源源码---小红书卡片-跳转微信-自动回复跳转卡片-商品卡片-发私信-发群聊-安全导流
     做小红书的人都知道小红书的用户商业价值非常高,消费能力很强,很多做高客单产品的都想从小红书平台上引流到私域成交,但是都会遇到账号违规、被封的问题,因为小红书的平台是所有平台里对引流导流最严的。不允许留公众号、手机号、微信号等联系方式,一旦被发现就会面临封禁等处罚。......
  • 『手撕Vue-CLI』获取下载目录
    开篇在上一篇文章中,简单的对Nue-CLI的代码通过函数柯里化优化了一下,这一次来实现一个获取下载目录的功能。背景在Nue-CLI中,我现在实现的是create指令,这个指令本质就是首先拿到模板名称和版本号之后,然后去进行下载对应的模板,关于下载那么肯定要面临的问题就是如何下载?下......