Vue 页面传参方式 Query 和 Params
1. query 与 params 传参
- query
需要和配合 path 属性使用,携带参数会拼接在请求路径后,效果同 Get 请求方式
http://localhost:8033/Permission/Role/Form?productCode=crm-operate&roleId=1&roleName=admin&roleType=-1&roleDesc=%E7%AE%A1%E7%90%86%E5%91%98
- params
需要配合 name 属性使用,参数不会携带在访问路径后,效果同 Post 请求
http://localhost:8033/Permission/Role/Form
2. 代码片演示
从页面NsTableRole 跳转NsFormRole 页面,添加编辑或删除动作都会携带参数到详情页面。
权限管理下角色管理路由配置route.js
// 一级菜单权限管理
const permissionRouter = {
path: '/Permission',
name: 'Permission',
component: () => import('@/views/Default'),
redirect: '/Permission/Configuration',
meta: {
title: '权限管理',
requireAuth: true
},
// 二级菜单:权限配置, 角色管理, 修改密码
children: [{
path: '/Permission/Role',
name: 'PermissionRole',
title: '角色管理',
component: () => import('@/views/Content'),
redirect: '/Permission/Role/Index',
children: [{
path: '/Permission/Role/Index',
name: 'PermissionRoleIndex',
component: () => import('@/views/Permission/Role')
},
{
path: '/Permission/Role/Form',
name: 'PermissionRoleForm',
title: '角色维护',
component: () => import('@/views/Permission/Role/NsFormRole')
}]
}, {
path: '/Permission/ModifyPassword',
name: 'PermissionModifyPassword',
title: '修改密码',
component: () => import('@/views/Content'),
redirect: '/Permission/ModifyPassword/Index',
children: [{
path: '/Permission/ModifyPassword/Index',
name: 'PermissionModifyPasswordIndex',
title: '修改密码',
component: () => import('@/views/Permission/ModifyPassword')
}]
}]
}
export default permissionRouter
2.1 添加角色动作(query 传参)
在页面 NsTableRole 点击添加角色,触发添加角色方法 onAddRole() 携带参数访问 path 属性映射的路由,NsFormRole 页面生命周期函数 created 获取路由携带的参数。传参效果如图
NsTableRole.vue(部分)
methods: {
// 添加角色
onAddRole () {
this.$router.push({
path: '/Permission/Role/Form',
query: {
productCode: this.model.productCode
}
})
}
}
NsFormRole.vue(部分)
// 生命周期函数 created
created () {
console.log(this.$route)
this.model.productCode = this.$route.query.productCode
}
2.2 编辑角色动作(params 传参)
在页面 NsTableRole 点击编辑,触发编辑角色方法 onEditRole() 携带参数访问 name 属性映射的路由,NsFormRole 页面生命周期函数 created 获取路由携带的参数。传参效果如图
NsTableRole.vue(部分)
// 编辑角色
onEditRole (obj) {
this.$router.push({
name: 'PermissionRoleForm',
params: {
roleId: obj.roleId,
roleName: obj.roleName,
roleType: obj.roleType,
roleDesc: obj.roleDesc
}
})
}
NsFormRole.vue(部分)
name: 'NsFormRole',
data () {
return {
model: {
roleId: '',
roleName: '',
roleType: '',
roleDesc: '',
productCode: '',
roleMenuPermission: []
}
}
},
created () {
console.log(this.$route)
this.model.productCode = this.$route.params.productCode
this.model.roleId = this.$route.params.roleId
this.model.roleDesc = this.$route.params.roleDesc
this.model.roleType = this.$route.params.roleType
this.model.roleName = this.$route.params.roleName
},
methods () {
}
Power By niaonao, The End, Thanks
Vue 页面传参方式 Query 和 Params的更多相关文章
- vue路由(一个包含重定向、嵌套路由、懒加载的main.js如下)and 路由跳转传参的query和params的异同
import Vue from 'vue'import VueRouter from 'vue-router'import App from './App'Vue.use(VueRouter)cons ...
- vue页面传参和接参
https://blog.csdn.net/zhouzuoluo/article/details/81259298(copy) js** this.$router.push({ name: 'Flow ...
- vue的传参方式和router使用技巧
vue传参方法一 1,路由配置 { path: '/describe/:id', name: 'Describe', component: Describe } 2,使用方法 // 直接调用$rout ...
- 每日技术总结:vue router传参方式,js获取设备高度
今天貌似没什么问题,23333…… 1.vue router 路由传参的方式 应用情景:从分类页(category.vue)进入商品列表页(list.vue),需要传递商品分类id(catId),商品 ...
- vue-router路由传参之query和params
首先简单来说明一下$router和$route的区别 //$router : 是路由操作对象,只写对象 //$route : 路由信息对象,只读对象 //操作 路由跳转 this.$router.pu ...
- .net 页面传参方式总结
一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是:安全性低.会把要传送的值显示在浏览器的地址栏中(也就是不需要保密得参数),并且在此方法中不能够传递对象,参数 ...
- vue页面传参
1.传的参数是数组 传递参数的页面 let setStr = encodeURIComponent(JSON.stringify(this.tableData)); this.$router.push ...
- vue路由传参的三种方式区别(params,query)
最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 <ul class="table_in ...
- vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- vue 通过 name 和 params 进行调整页面传参刷新参数丢失问题&vue路由可选参数
vue 通过 name 和 params 进行调整页面传参刷新参数丢失问题 router.js: export default new Router({ routes: [ { path: '/', ...
随机推荐
- linux 性能自我学习 ———— cpu 高怎么办 [三]
前言 linux 性能分析自我学习. 正文 一般我们说cpu,一般是什么高呢? 一般是指cpu 使用率高. 那么什么是cpu 使用率呢? cpu 使用率 = 1- 空闲时间/总cpu 时间 平均cpu ...
- Mac 修改版本号
修改版本号 在安装某些软件(XCode)的过程中, 系统会提示版本低,需要升级到高版本, 而很多人不想升级而需要安装这些软件, 此时只需将版本号修改成软件安装要求的版本号就可以了. 由于SystemV ...
- 关于双独立时钟fifo的一些细节探讨
最近遇到一个项目,就是接收数据转换成本地数据.两个时钟是频率是基本一样,但是存在5%偏差,而且存在相位差. 这是基本需求.一般转换的办法就是fifo写入有效数据,然后用empty读取出来.但是发现有个 ...
- MRBS(Meeting Room Booking System)开源的会议室预订系统搭建使用
前一家公司所有的办公系统都是自己开发的,包括排班.工单.会议室预定等等,很方便. 目前所在的公司,每周部门例会找行政预订了会议室,但多次去都被人占了,很烦,于是网上找了一个评价不错的系统,python ...
- Phoenix 时区问题
最近在测试flink从trino查询数据插入到phoenix5的功能,发现一个时间的问题: 明明插入的时间是 '1940-06-01',查询出来的时间会少一天,同样的 Timestamp 也会自动少掉 ...
- ElasticSearch 7.7 + Kibana的部署
ElasticSearch目前最新版是7.7.0,其中部署的细节和之前的6.x有很多的不同,所以这里单独拉出来写一下,希望对用7.x的童鞋有一些帮助,然后部署完ES后配套的kibana也是7.7.0, ...
- Oracle对一个字符串中的数字与非数字进行分割
Oracle对一个字符串中的数字与非数字进行分割 Oracle中对一个字符串中的数字与非数字进行分割 思路很简单,就是将字符串分成数字与非数字 则只要将字符串中的数字全部换成空,就是分割后的非数字字符 ...
- 01_Vue技术-Hello案例分析
初始vue: 1.想让vue工作,就必须创建一个Vue实例,且要传入一个配置对象: 2.root容器里的代码依然符合html规范,只不过混入了一些特殊的vue语法: ...
- 力扣289(java)-生命游戏(中等)
题目: 根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞 ...
- word文档怎么让封面没有页码,页码从正文开始(word 2019)
1.打开需要插入页码的文档,光标放在正文处的开头,然后点击word窗口中的 [布局] ---> 选择[分隔符] -->选择 [分节符] 下面的 [连续]; 2.然后选择word功能区 ...