美文网首页
Vue-router之路由参数传递

Vue-router之路由参数传递

作者: 王童孟 | 来源:发表于2018-09-10 09:55 被阅读0次

params

// client/config/routes.js
export default [
  {
    path: '/app/:id',
  }
]
// client/app.vue
<template>
  <div id="app">
    <router-link to="/app/123">app</router-link>
  </div>
</template>

点击 app 链接,跳转 todo 页面 ,本地url 路径 localhost:8000/app/123

通过 $route 可以拿到路由信息

// client/app.vue
export default {
  mounted () {
    console.log(this.$route)
  }
}
// 控制台
{name: "app", meta: {…}, path: "/app/123", hash: "", query: {…}, …}
fullPath:"/app/123"
hash:""
matched:[{…}]
meta:{title: "this is app", description: "xxx"}
name:"app"
params:{id: "123"}
path:"/app/123"
query:{}
__proto__:Object

props 传 params

通过这种方式,不需要 this.$route 的写法,它会和 vue-router 有一定的耦合,如果其升级,用法可能会变;如果组件使用了 this.$router 的写法,就不能作为单纯的组件拿到其他地方用,只能作为 route 配置中的 component 去用。

通过 props 的方式,实现了解耦,可以在其他地方使用组件,只需要传 props 即可。

// client/config/routes.js
export default [
  {
    path: '/app/:id', // 把 :id 作为 props 传到 Todo 中
    props: true, // 通过 props 来传 params
    component: Todo,
  }
]
export default {
  props: ['id'],
  mounted () {
    console.log(this.id) // 控制台 123
  }
}

props 指定值

// client/config/routes.js
export default [
  {
    path: '/app/:id', 
    props: {
      id: '456' 
    },
    component: Todo,
  }
]

props 函数

通过 query 指定 id

// client/config/routes.js
export default [
  {
    path: '/app/:id', 
    props: (route) => ({ id: route.query.b }) // 通过 query 指定 id
    component: Todo,
  }
]

query

在路径上直接添加,http://localhost:8000/app/123?a=123&b=456

通过 $route 拿到 query

query: {a: "123", b: "456"}

相关文章

  • 第三十六节:Vue路由:Vue-router路由传参

    前沿: vue-router的路由跳转时传递参数有两种方式,: 一种是路由参数, 通过定义动态路由传递参数 另一种...

  • 第三十六节:Vue路由:Vue-router路由传参

    前沿: vue-router的路由跳转时传递参数有两种方式,: 一种是路由参数, 通过定义动态路由传递参数 另一种...

  • Vue常见面试题

    1.怎么定义vue-router的动态路由?怎么获取传递过来的动态参数? 何为动态路由?能够提供参数的路由即为动态...

  • Vue-router 相关

    一、vue-router 如何传参 1、用name传递参数 步骤: (1)在路由文件src/router/in...

  • 在vue-router中设置和获取参数的方法

    vue-router中传递参数 1.通过设置路由name属性,用{{ $route.name }}获取。 例如:设...

  • Vue-router之路由参数传递

    params 点击 app 链接,跳转 todo 页面 ,本地url 路径 localhost:8000/app/...

  • vue-router

    前端路由的基本原理 vue-router的基本使用 命名路由 路由参数 嵌套路由

  • 18、 vue-router导航解析及钩子函数

    1、vue-router如何响应 路由参数 的变化? 问题:当使用路由参数时,例如从 /content?id=1 ...

  • react-router-dom部分笔记

    1,向路由组建传递参数 (1)params 参数 路由链接(携带参数): 注册路由(声明接收) 接收参数this....

  • vue传参

    一、路由传参 1.1、 明文传参 ( 特点:URL路径 显示传递的参数 ) 路由跳转: 传递参数 接收参数 1....

网友评论

      本文标题:Vue-router之路由参数传递

      本文链接:https://www.haomeiwen.com/subject/imwjgftx.html