1. param 和 query 两种方式

{
    path: '/home/:id/',
    name: 'home',
    component: home,
    meta: {
        title: '首页'
    }
}

获取参数

let id = this.$route.params.id

params 和 query 区别:
(1)携带的参数没有拼接在url地址后面;数据比较保密,但是name属性要在路由表中配置name属性
(2)但是跳转到对应页面后,刷新该页面携带的参数会丢失,如果是根据携带参数获取的数据,会出现一定的问题

第二种方式
(1)携带的参数拼接在url地址后面;不用再路由表中配置name属性
(2)跳转到对应的页面后,刷新页面不会出现上一个页面携带的参数丢失的情况

使用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()

 

 

Logo

前往低代码交流专区

更多推荐