详解Vue如何通过URL传递与获取参数

 更新时间:2024年09月24日 09:26:41   作者:pan_junbiao  
Vue Router 路由实际上就是一种映射关系,例如,多个选项卡之间的切换就可以使用路由功能来实现,在实际的开发中,经常需要通过URL来传递参数,同时在 JavaScript 脚本中需要获取URL中的参数,下面将介绍 Vue 项目中,如何通过 URL 对参数进行传递与获取,需要的朋友可以参考下

前言

Vue Router 路由实际上就是一种映射关系。例如,多个选项卡之间的切换就可以使用路由功能来实现。在切换时,根据鼠标的点击事件显示不同的页面内容,这相当于事件和事件处理程序之间的映射关系。在实际的开发中,经常需要通过URL来传递参数,同时在 JavaScript 脚本中需要获取URL中的参数。下面将介绍 Vue 项目中,如何通过 URL 对参数进行传递与获取。

1、传递 URL 参数

(1)配置路由信息:

const routes = [
  {
    path: '/course/detail/:id',
    name: 'courseDetail',
    component: CourseDetail,
    meta: {
      title: '课程详情'
    }
  }
]

该路由配置的 path 值为: '/course/detail/:id',其中 :id 为参数的占位符,需要通过 params:{} 方式赋值 。有效地址例如:/course/detail/1 或者 /course/detail/2 等。

(2)URL参数的传递:

<router-link :to="{ name: 'courseDetail', params: { id: course.id }, query: { name: course.name, teacher: course.teacher } }">预览</router-link>

该路由配置的 path 值为: '/course/detail/:id',其中 :id 为参数的占位符,需要通过 params:{} 方式赋值 。有效地址例如:/course/detail/1 或者 /course/detail/2 等。

(2)URL参数的传递:

<router-link :to="{ name: 'courseDetail', params: { id: course.id }, query: { name: course.name, teacher: course.teacher } }">预览</router-link>

参数说明:

params 参数:会在URL中显示出传参的值,刷新页面不会丢失参数,使用该方式传值的时候,需要在路由提前配置好参数,如上述代码:path: '/course/detail/:id',其中 :id 为参数的占位符。

query 参数:传递的参数会拼接在地址栏中(?name=xxx&teacher=xxx),刷新页面不会丢失参数,使用 path 和 name 都可以。

执行结果:

2、获取 URL 参数

(1)模板中获取URL参数:

<!-- 获取 params 对象中的参数 -->
<p>课程编号:{{ $route.params.id }}</p>
 
<!-- 获取 query 对象中的参数 -->
<p>课程名称:{{ $route.query.name }}</p>
<p>课程讲师:{{ $route.query.teacher }}</p>

(2)JavaScript 中获取URL参数(Vue 2.0):

this.id = this.$route.params.Id || 0; //获取 params 对象中的参数
this.name = this.$route.query.name;   //获取 query 对象中的参数

(3)JavaScript 中获取URL参数(Vue 3.0 ):

import { useRoute } from 'vue-router';
 
//获取URL参数
const route = useRoute();
let id = route.params.id || 0; //获取 params 对象中的参数
let name = route.query.name;   //获取 query 对象中的参数
let teacher = route.query.teacher;
 
//打印参数
console.log("获取URL参数id:", id);
console.log("获取URL参数name:", name);
console.log("获取URL参数teacher:", teacher);

执行结果:

到此这篇关于详解Vue如何通过URL传递与获取参数的文章就介绍到这了,更多相关Vue URL传递与获取参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 新手简单了解vue

    新手简单了解vue

    Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。下面我们来简单了解下吧
    2019-05-05
  • vue利用vant组件实现轮播图效果

    vue利用vant组件实现轮播图效果

    vant组件适用于移动端项目,目前项目开源,是市面上做的比较好的开源项目,功能比较强大,本文小编就来为大家介绍一下如何利用vant实现轮播图效果吧
    2023-10-10
  • vue 行为验证码之滑动验证AJ-Captcha使用详解

    vue 行为验证码之滑动验证AJ-Captcha使用详解

    这篇文章主要介绍了vue 行为验证码之滑动验证AJ-Captcha使用详解,AJ-Captcha不需要npm安装,只需要将组件 verifition复制到所使用的components目录下,本文给大家详细讲解,需要的朋友可以参考下
    2023-05-05
  • Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解

    Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解

    这篇文章主要介绍了Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能,结合实例形式分析了vue.js前台商品分页、排序、筛选等功能及后台node.js处理技巧,需要的朋友可以参考下
    2019-12-12
  • vue组件生命周期详解

    vue组件生命周期详解

    这篇文章主要为大家详细介绍了vue组件生命周期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • vue跨域解决方法

    vue跨域解决方法

    这篇文章主要介绍了vue跨域解决方法 ,需要的朋友可以参考下
    2017-10-10
  • Vue监听数组变化源码解析

    Vue监听数组变化源码解析

    这篇文章主要为大家详细解析了Vue监听数组变化的源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • vue中使用loadsh的debounce防抖函数问题

    vue中使用loadsh的debounce防抖函数问题

    这篇文章主要介绍了vue中使用loadsh的debounce防抖函数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Vue项目在IE浏览器页面白屏且报错SCRIPT1010:缺少标识符问题

    Vue项目在IE浏览器页面白屏且报错SCRIPT1010:缺少标识符问题

    Vue项目在谷歌浏览器中正常运行,但在IE浏览器中出现问题,如白屏和控制台报错,解决过程包括检查IE设置、调整编辑器配置、引入兼容性插件、使用productionSourceMap定位错误、检查插件依赖和版本,以及重新构建项目
    2024-09-09
  • vue中安装使用cesium方式(亲测可用)

    vue中安装使用cesium方式(亲测可用)

    这篇文章主要介绍了vue中安装使用cesium方式(亲测可用),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论