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的更多相关文章

  1. vue路由(一个包含重定向、嵌套路由、懒加载的main.js如下)and 路由跳转传参的query和params的异同

    import Vue from 'vue'import VueRouter from 'vue-router'import App from './App'Vue.use(VueRouter)cons ...

  2. vue页面传参和接参

    https://blog.csdn.net/zhouzuoluo/article/details/81259298(copy) js** this.$router.push({ name: 'Flow ...

  3. vue的传参方式和router使用技巧

    vue传参方法一 1,路由配置 { path: '/describe/:id', name: 'Describe', component: Describe } 2,使用方法 // 直接调用$rout ...

  4. 每日技术总结:vue router传参方式,js获取设备高度

    今天貌似没什么问题,23333…… 1.vue router 路由传参的方式 应用情景:从分类页(category.vue)进入商品列表页(list.vue),需要传递商品分类id(catId),商品 ...

  5. vue-router路由传参之query和params

    首先简单来说明一下$router和$route的区别 //$router : 是路由操作对象,只写对象 //$route : 路由信息对象,只读对象 //操作 路由跳转 this.$router.pu ...

  6. .net 页面传参方式总结

    一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是:安全性低.会把要传送的值显示在浏览器的地址栏中(也就是不需要保密得参数),并且在此方法中不能够传递对象,参数 ...

  7. vue页面传参

    1.传的参数是数组 传递参数的页面 let setStr = encodeURIComponent(JSON.stringify(this.tableData)); this.$router.push ...

  8. vue路由传参的三种方式区别(params,query)

    最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下 <ul class="table_in ...

  9. vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题

    最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...

  10. vue 通过 name 和 params 进行调整页面传参刷新参数丢失问题&vue路由可选参数

    vue  通过 name 和 params 进行调整页面传参刷新参数丢失问题 router.js: export default new Router({ routes: [ { path: '/', ...

随机推荐

  1. HH的项链—树状数组

    题目描述 HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义. HH不断地收集新的贝壳,因此他的项链变得越来越长.有一天 ...

  2. docker 应用篇————具名挂载和匿名挂载[十三]

    前言 简单整理一下具名挂载和匿名挂载. 正文 来看一下匿名挂载. 这里-v指定了容器内部的路径,但是没有指定容器外部的路径,那么挂载到了什么地方. 用inspect 查看一下. 挂载到这个位置了. 然 ...

  3. 开源在线表单工具 HeyForm 使用教程

    HeyForm 是一个非常出色的开源在线表单工具,可以通过直观的拖拽式编辑器,快速构建出美观实用的表单. HeyForm 的功能非常丰富: 支持丰富的输入类型,从基础的文本.数字到高级的图片选择.日期 ...

  4. ES6中新增的Set、Map两种数据结构

    如果要用一句话来描述,我们可以说 Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构 什么是集合?什么又是字典? 集合是由一堆无序的.相关联的,且不重复的内存结构[数学中称为元素]组成的组 ...

  5. 力扣394(java)-字符串解码(中等)

    题目: 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正整数 ...

  6. 对接HiveMetaStore,拥抱开源大数据

    本文分享自华为云社区<对接HiveMetaStore,拥抱开源大数据>,作者:睡觉是大事. 1. 前言 适用版本:9.1.0及以上 在大数据融合分析时代,面对海量的数据以及各种复杂的查询, ...

  7. 全链路灰度新功能:MSE上线配置标签推送

    简介: 微服务场景下,全链路灰度作为一种低成本的新功能验证方式,得到了越来越广泛的应用.除了微服务实例和流量的灰度,微服务应用中的配置项也应该具备相应的灰度能力,以应对灰度应用对特殊配置的诉求. 为什 ...

  8. OpenKruise v1.0:云原生应用自动化达到新的高峰

    ​简介:OpenKruise 是针对 Kubernetes 的增强能力套件,聚焦于云原生应用的部署.升级.运维.稳定性防护等领域. 云原生应用自动化管理套件.CNCF Sandbox 项目 -- Op ...

  9. [FAQ] 部署二进制运行时 go-ego/gse 如何正确加载分词字典

    运行Golang编译后二进制运行时,此时运行二进制时所在目录就是Golang源码程序认为的根目录了. 所以只需要把字典文件拷贝到与二进制所在同一目录内,然后使用 seg.LoadDict('dicti ...

  10. [FAQ] 前端 点击事件或链接 如何打开两个外部窗口

    点击链接支持 blank,但无法打开多个,考虑使用绑定 click 事件的方式. window.open 的采用需要有主动点击的情况,否则浏览器可能拦截. 如果是外部窗口,在点击时,优先使用 wind ...