列表进入详情页的传参问题(vue的问题)

<router-link :to="{path: 'detail', query: {id: 1}}">前往detail页面</router-link>

c页面的路径为http://localhost:8080/#/detail?id=1,可以看到传了一个参数id=1,并且就算刷新页面id也还会存在。此时在c页面可以通过id来获取对应的详情数据,获取id的方式是this.$route.query.id

vue传参方式有:query、params+动态路由传参。

说下两者的区别:

1.query通过path切换路由,params通过name切换路由

// query通过path切换路由
<router-link :to="{path: 'Detail', query: { id: 1 }}">前往Detail页面</router-link>
// params通过name切换路由
<router-link :to="{name: 'Detail', params: { id: 1 }}">前往Detail页面</router-link>

2.query通过this.$route.query来接收参数,params通过this.$route.params来接收参数。

// query通过this.$route.query接收参数
created () {
    const id = this.$route.query.id;
}

// params通过this.$route.params来接收参数
created () {
    const id = this.$route.params.id;
}

3.query传参的url展现方式:/detail?id=1&user=123&identity=1&更多参数

params+动态路由的url方式:/detail/123

4.params动态路由传参,一定要在路由中定义参数,然后在路由跳转的时候必须要加上参数,否则就是空白页面:

{      
    path: '/detail/:id',      
    name: 'Detail',      
    component: Detail    
},

注意,params传参时,如果没有在路由中定义参数,也是可以传过去的,同时也能接收到,但是一旦刷新页面,这个参数就不存在了。这对于需要依赖参数进行某些操作的行为是行不通的,因为你总不可能要求用户不能刷新页面吧。例如:

// 定义的路由中,只定义一个id参数
{
    path: 'detail/:id',
    name: 'Detail',
    components: Detail
}

// template中的路由传参,
// 传了一个id参数和一个token参数
// id是在路由中已经定义的参数,而token没有定义
<router-link :to="{name: 'Detail', params: { id: 1, token: '123456' }}">前往Detail页面</router-link>

// 在详情页接收
created () {
    // 以下都可以正常获取到
    // 但是页面刷新后,id依然可以获取,而token此时就不存在了
    const id = this.$route.params.id;
    const token = this.$route.params.token;
}

相关推荐

  1. 列表进入详情问题vue问题

    2024-01-16 17:42:03       50 阅读
  2. VUE父子组件问题

    2024-01-16 17:42:03       44 阅读
  3. springboot+axios问题

    2024-01-16 17:42:03       33 阅读
  4. Vue路由

    2024-01-16 17:42:03       51 阅读
  5. vue跳转

    2024-01-16 17:42:03       32 阅读
  6. uniapp路由存在数据类型失真问题

    2024-01-16 17:42:03       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 17:42:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 17:42:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 17:42:03       87 阅读
  4. Python语言-面向对象

    2024-01-16 17:42:03       96 阅读

热门阅读

  1. Stable Diffusion 提示词解析|AI绘画

    2024-01-16 17:42:03       55 阅读
  2. 中国泡菜市场供需与投资预测研究报告(2024版)

    2024-01-16 17:42:03       49 阅读
  3. SSL弱加密算法的漏洞研究

    2024-01-16 17:42:03       56 阅读
  4. 开发安全之:Insecure Transport: Weak SSL Protocol

    2024-01-16 17:42:03       49 阅读
  5. python3导入sql文件

    2024-01-16 17:42:03       51 阅读
  6. HTTP基本概念

    2024-01-16 17:42:03       61 阅读
  7. go语言中的GoMock

    2024-01-16 17:42:03       46 阅读
  8. 视觉处理之仿射变换

    2024-01-16 17:42:03       56 阅读
  9. 数据库系统原理总结之——数据管理技术的发展

    2024-01-16 17:42:03       58 阅读