vue-router的query和params的区别

vue-router的query和params的区别

首先简单来说明一下$router和$route的区别

  • $router为VueRouter实例,想要导航到不同url,则使用$router.push方法
  • $route为当前router跳转对象,里面可以获取name、path、query、params等

params方式传参和接收参数


this.$router.push({
    name:'xxx'
    params:{
      id:id
    }
  })

接收参数:
this.$route.params.id

query方式传参和接收参数

不过query使用name来引入也可以传参,使用path也可以


this.$router.push({
    path:'/xxx'
    query:{
      id:id
    }
  })
接收参数:
this.$route.query.id

params方式和query方式的区别

  • query方式生成的url为/xx?id=id,params方式生成的url为xx/id
  • params方式需要注意的是需要定义路由信息如:path: ‘/xx/:id‘,这样才能进行携带参数跳转,否则url不会进行变化,并且再次刷新页面后参数会读取不到

选择哪个更好

看场景需求,一般我开发喜欢使用params方式方式,因为path定义,会存在嵌套路由比较复杂且不好维护,而name比较简洁而且更好维护。

原文地址:https://segmentfault.com/a/1190000017072101

原文地址:https://www.cnblogs.com/datiangou/p/10124369.html

时间: 2024-10-18 00:09:01

vue-router的query和params的区别的相关文章

使用路由传参时,query与params的区别!

query 1:参数会在地址栏显示 2:参数不需要在路由的path后接:args1/:args2 3:获取参数用this.$route.query.args1 params 1:参数需要在路由的path后接:args1/:args2 2:获取参数用this.$route.params.args1 原文地址:https://www.cnblogs.com/erfsfj-dbc/p/10084379.html

vue路由传参query和params的区别

1.用法 A.query要用path来引入(用name来引入也可以),接收参数都是this.$route.query.name. B.params要用name来引入,接收参数都是this.$route.params.name. 2.效果 A.query类似于ajax中get传参,即在浏览器地址栏中显示参数. B.params则类似于post,即在浏览器地址栏中不显示参数. 3.个人建议 在路由传参上建议使用params,以隐藏参数,做好安全保密.

vue router 如何使用params query传参,以及有什么区别

写在前面: 传参是前端经常需要用的一个操作,很多场景都会需要用到上个页面的参数,本文将会详细介绍vue router 是如何进行传参的,以及一些小细节问题.有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家. 本文首发于我的个人blog:obkoro1.com Vue router如何传参 params.query是什么? params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params query:/route

vue-router query和params传参(接收参数)的区别

版权声明: https://blog.csdn.net/youth_lx/article/details/79780938 <div class="markdown_views"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap=&q

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 属性使用

vue-router传参的坑(query和params)

1.query方式传参和接收参数 传参: this.$router.push({ path:'/xxx' query:{ id:id } }) 接收参数: this.$route.query.id 注意:传参是this.$router,接收参数是this.$route,这里千万要看清了!!! this.$router 和this.$route有何区别?在控制台打印两者可以很明显的看出两者的一些区别: 1.$router为VueRouter实例,想要导航到不同URL,则使用$router.push

Vue.js路由管理器 Vue Router

起步 HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> <div id="app"> <h1>Hello App!</h1> <p>

Vue router 全局路由守卫

记录一下全局路由守卫的使用: 方法一:定义一个数组用于检测与管理需要登录的页面,全局路由守卫配合本地存储判断是否跳转 import Vue from 'vue' import Router from 'vue-router' import store from './../store' import Home from 'components/home/home' // 主页组件 // 其它组件... import Cart from 'components/cart/cart' // 购物车组

vue router 参数获取

vue router 参数获取通常是通过$route.query和$route.params方法这里将这两种方式通过代码展示出来: 路由代码: import Vue from 'vue' import Router from 'vue-router' import Home from './views/Home.vue' import UserAdd from './components/UserAdd' import UserList from './components/UserList'