首页 > 编程知识 正文

九vue开发 获取url后面的参数,vue获取url中的参数

时间:2023-05-05 11:40:36 阅读:283498 作者:1760

使用路由获取页面参数

在路由中设置path: { path: '/detail/:id/', name: 'detail', component: detail, meta: { title: '详情' }}

获取参数

let id = this.$route.params.id

备注:
1、参数名需要保持一致
2、如果路由中没有传参(http://192.168.1.12:8080/#/detail),会报错,页面无法显示,正常页面为 http://192.168.1.12:8080/#/detail/234

如果有的参数可传可不传,可以使用?传参
例如:http://192.168.1.12:8080/#/detail/?id=123
获取的时候:

let id = this.$route.query.id

这样即使取不到参数,页面也不会报错

使用js获取页面参数
如果是在普通js文件中,想获取url后面的参数,可以新建一个工具类,utils.js:

/* eslint-disable */export default{ getUrlKey: function (name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/+/g, '%20')) || null }}

在其他需要获取参数的js中引入

import Vue from 'vue'import utils from '../../assets/scripts/utils'// Vue.prototype.$utils = utils // main.js中全局引入let id = utils.getUrlKey('id')console.log()

url为http://192.168.1.12:8080/#/detail/?id=123时,可以得到id为123

转载自:https://www.jb51.net/article/121954.htm

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。