Vue-router的传参方式和router使用技巧

vue传参方法一

1,路由配置

   {
     path: ‘/describe/:id‘,
     name: ‘Describe‘,
     component: Describe
   }

2,使用方法

//   直接调用$router.push 实现携带参数的跳转
 this.$router.push({
//  这个id是一个变量,随便是什么值都可以
    path: /describe/${id}`,
 })

3,获取方法(在describe页面)

$route.params.id

使用以上方法可以拿到上个页面传过来的id值

vue传参方法二

1,路由配置

  {
     path: ‘/describe‘,
     name: ‘Describe‘,
     component: Describe
   }

(这个地方默认配置就可以了,不用做任何的处理)

2,使用方法

    this.$router.push({
       name: ‘Describe‘,
       params: {
         id: id
      }
   })

父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。

3,获取方法(在describe页面)

$route.params.id

也用params获取就可以了;

vue传参方法三

1,路由配置

 {
     path: ‘/describe‘,
     name: ‘Describe‘,
     component: Describe
 }

(默认配置)

2,使用方法

   this.$router.push({
     path: ‘/describe‘,
     query: {
       id: id
     }
   })

(params换成了query)

3,获取方法(在describe页面)

$route.query.id

(这个地方用query还获取id,和前面用的params获取的区别在于,用query获取的id值会在url中有显示,可以看到你传过来的值)

props传值方法

父组件

(table-data这个地方可以随便取名字,不是特定的值)

<div class="content">
//这个是一个普通组件,其中tabelData可以是变量,也可以是常量,和pageInfo一样样,这里打算传递两个值过去,其实也可以用对象的方式传过去都是可以的。
    <my-table :table-data="tableData" :page-info="pageInfo" id="myTable"></my-table>
</div>

子组件

props: [‘tableData‘, ‘pageInfo‘],
data() {
    return {
        tData: this.tableData,
        page: this.pageInfo
    }
}

prop是单向绑定的,不应该在子组件内部改变prop。不过这里的props传过来的值会随之父组件的值的改变而改变,是动态改变的。

$route使用小技巧

1,$route.path

  • 类型: string

    字符串,对应当前路由的路径,总是解析为绝对路径,如 "/foo/bar"

2,$route.params

  • 类型: Object

  一个 key/value 对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象。

3,$route.query

  • 类型: Object

    一个 key/value 对象,表示 URL 查询参数。例如,对于路径 /foo?user=1,则有 $route.query.user == 1,如果没有查询参数,则是个空对象。

4,$route.hash

  • 类型: string

    当前路由的 hash 值 (带 #) ,如果没有 hash 值,则为空字符串。

5,$route.fullPath

  • 类型: string

    完成解析后的 URL,包含查询参数和 hash 的完整路径。

原文地址:https://www.cnblogs.com/Mr-Tao/p/10591054.html

时间: 2024-08-03 03:19:46

Vue-router的传参方式和router使用技巧的相关文章

vue请求中 post get传参方式是不同的哦

我在学习vue,项目中post请求,get请求都用到了,我发现传参方式是不一样的. post请求的例子: checkin (){ this.$http.post('my url',{ mobilePhone:this.phone, password:this.password },{ emulateJSON: true } ).then(function(res){ this.$root.userid=res.data.userid; console.log(this.$root.userid)

前端vue 跨组件传参,cokies,axion

路由跳转 ? 1 2 3 4 5 6 this.$router.push('/course'); this.$router.push({name: course}); this.$router.go(-1); this.$router.go(1); <router-link to="/course">课程页</router-link> <router-link :to="{name: 'course'}">课程页</rout

java 传参方式--值传递还是引用传递

java 传参方式--值传递还是引用传递 参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递.写它是为了揭穿普遍存在的一种神话,即认为 Java 应用程序按引用传递参数,以避免因依赖“按引用传递”这一行为而导致的常见编程错误. 对此节选的某些反馈意见认为,我把这一问题搞糊涂了,或者将它完全搞错了.许多不同意我的读者用 C++ 语言作为例子.因此,在此栏目中我将使用 C++ 和 Java 应用程序进一步阐明一些事实. 要点 读完所有的评论以后,问题终于明白了

Javaweb的七大传参方式和以及各自特点

学习jsp一段时间,觉得还是需要把自己学习一些东西整理了一下,第一次发东西,还请各位多多支持 1.表单提交 html自带的from方法,简单易懂,便于操作,依靠于<from>标签中的type="submit"进行表单传输,或者根据js进行控制提交表单.其中由method属性决定以post或者get方式进行提交. jsp代码: 1 <form id="test" action="testservlet" method="

Web API中的传参方式

在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete /Put的传参方式 一.Get传参 get设计成传输小数据,而且最好是不修改服务器的数据,所以浏览器一般都在地址栏里面可以看到,数据放在url的QueryString中. (一)简单类型 $(function () { $.ajax({ type: 'get', url:'http://localh

react中的传参方式

react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a name='a' age={16}/>,app) 在渲染的时候,直接给挂载的组件传参. 2,父子传参 父子传参可以用props和ref两种方式,1,props方式传参,父组件通过改变自己的参数并且通过props将状态传递给子组件,并在子组件中显示.2,通过ref传参,这种方式是通过子组件自己的方法改变自己的

SpringMVC的五种请求传参方式

1.传统传参方式 方法参数中使用request,通过request.getParameter("参数名"),再封装到bean中 @RequestMapping("/test01") public ModelAndView test01(HttpServletRequest request){ String username = request.getParameter("username"); String password = request.

mock和axios常见的传参方式

第一次接手项目,传参方式还有些吃力,因此做一下总结. 首先我们需要会看swagger中的接口.里面写了某个接口需要接收什么样的值,前端怎么传递这个值 在mock中的传参方式: mock中传参的方式有两个参数,一个是path对象,一个是data对象. path想当于拼接在url地址上的参数, data是url后面的参数. 1.get请求 如果url后面有opts的参数,则说明他需要传递参数.要不就不用传递了,直接写个url就好了,不用拼接参数.(请看下图) 图一是接口 图二是调用了这个接口. 这个

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