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. Vue3.0里为什么要用 Proxy API 替代 defineProperty API

    一.Object.defineProperty 定义:Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 为什么能实现响应式 ...

  2. 前端使用 Konva 实现可视化设计器(6)

    请大家动动小手,给我一个免费的 Star 吧~ 这一章处理一下复制.粘贴.删除.画布归位.层次调整,通过右键菜单控制. github源码 gitee源码 示例地址 复制粘贴 复制粘贴(通过快捷键) / ...

  3. eclipse 配置tomcat(更新了比较详细的版本)

    eclipse 配置tomcat 打开eclipse,在上栏找到Window,点开找到preferences,点击,就有一个弹框出现 然后找到server,点开找到runtime environmen ...

  4. 力扣350(java&python)-两个数组的交集 II(简单)

    题目: 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集.返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值).可以不 ...

  5. Apsara Stack 技术百科 | 浅谈阿里云混合云新一代运维平台演进与实践

    ​简介:随着企业业务规模扩大和复杂化及云计算.大数据等技术的不断发展,大量传统企业希望用上云来加速其数字化转型,以获得虚拟化.软件化.服务化.平台化的红利.在这个过程中,因为软件资产规模持续增大而导致 ...

  6. [Mobi] MacOS 安装设置 ADB (Android Dedug Bridge)

    adb (Android Dedug Bridge) 是 Google 提供的一个工具,用于调试 Android 应用程序和系统的各个部分. 在 MacOS 平台,调试安卓应用 首先需要安装 Andr ...

  7. [Go] go build 减小二进制文件大小的几种方式

    第一种 是去除不需要的调试信息: go build -ldflags "-s -w" main.go 实测 19M 减小为 15M,幅度 2% 第二种 压缩 UPX: the Ul ...

  8. dotnet 使用 XWT 构建跨平台客户端 入门篇

    本文告诉大家如何入门开始开发一个基于 mono 组织开源的 XWT 跨平台客户端 UI 框架的应用,本文的 xwt 是在 GitHub 上完全开源的,基于 MIT 协议的,底层采用 GTK# 的 UI ...

  9. vscode 配置c/c++环境,无法生成 *.exe文件

    ​ [问题]: 使用vscode配置c/c++环境时,提示无法构建失败. [解决方案]: 1. 当前结合网上找的资料已经检查过,tasks.json和launch.json文件,并无配置错误. 2. ...

  10. 015_元器件BOM表的输出与打印

    015_元器件BOM表的输出与打印 BOM表,选中dsn/tools/Bill of materials/Header后添加封装参数\tPCB Footprint,Combined property ...