详解Vue中一种简易路由传参办法

yizhihongxing

当我们使用Vue进行开发时,经常需要进行路由跳转和传参。路由传参可以方便我们在不同页面之间传递数据,实现页面之间的交互和通讯。本文将介绍一种简易的Vue路由传参方法,仅需使用Vue的内置方法即可实现。

一、Vue内置方法$router.push()

Vue内置了一个$router方法,可以用于进行路由跳转。在进行页面跳转的时候,我们可以利用这个方法进行路由参数的传递。

使用方法:

this.$router.push({
  name: 'pageName', // 跳转的页面名称
  params: {
      key1: value1, // 携带的参数1
      key2: value2 // 携带的参数2,可以继续添加
  }
})

其中name代表要跳转的页面名称,params中包含要传递的参数。params中的参数可以是任意类型,比如字符串、数字或者对象等。

二、获取路由参数

在目标页面中,我们可以通过访问$route.params.key的方式获取到传递过来的参数。具体方法如下:

使用方法:

mounted () {
  this.key1 = this.$route.params.key1
  this.key2 = this.$route.params.key2
}

当访问该页面时,这个mounted生命周期钩子函数会在页面渲染之前被调用。我们可以在里面定义key1和key2两个变量,并将它们赋值给$route.params.key1和$route.params.key2,从而获取到传递过来的参数。

下面是一个示例:

示例1:利用$router.push()进行路由传参

// 发送数据
this.$router.push({
  name: 'detail',
  params: {
    productId: 1,
    productName: '商品1'
  }
})

在发送数据时,我们使用$router.push()方法进行路由跳转,并且在params中携带了我们要发送的参数。

// 接收数据
<template>
  <div>
    <h1>{{ productDetail.productName }}</h1>
    <p>商品ID:{{ productDetail.productId }}</p>
  </div>
</template>
<script>
export default {
  data () {
    return {
      productDetail: {}
    }
  },
  mounted () {
    this.productDetail.productId = this.$route.params.productId
    this.productDetail.productName = this.$route.params.productName
  }
}
</script>

在接收数据的页面,我们可以使用this.$route.params获取传递过来的参数。在mounted生命周期函数中,我们将获取到的参数赋值给了productDetail对象,从而在页面中展示出来。

示例2:利用$router.push()进行路由传参,并通过遍历展示数据

// 发送数据
this.$router.push({
  name: 'list',
  params: {
    productList: [
      { id: 1, name: '商品1' },
      { id: 2, name: '商品2' },
      { id: 3, name: '商品3' }
    ]
  }
})

在发送数据时,我们使用$router.push()方法进行路由跳转,并且在params中携带了我们要发送的参数。

// 接收数据
<template>
  <ul>
    <li v-for="item in productList" :key="item.id">
      <router-link :to="{ name: 'detail', params: { productId: item.id, productName: item.name } }">{{ item.name }}</router-link>
    </li>
  </ul>
</template>
<script>
export default {
  data () {
    return {
      productList: []
    }
  },
  mounted () {
    this.productList = this.$route.params.productList
  }
}
</script>

在接收数据的页面,我们首先将productList数组定义在data中,并将其初始化为空。在mounted生命周期函数中,我们将获取到的参数赋值给productList数组,从而获取到了传递过来的商品列表数据。

接着,我们使用v-for指令对productList进行遍历,并利用router-link将每个商品的名称包装成一个链接,链接的目标是商品详情页detail。在链接中,我们使用to属性指定了将要传递的商品ID和名称。

最后,我们在商品详情页detail中根据传递过来的商品ID和名称进行展示。

以上就是利用$router.push()进行路由传参的方法和示例,这种方法简单易行,代码简洁,适合用于小型项目和简单页面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Vue中一种简易路由传参办法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Vue自定义复制指令 v-copy功能的实现

    下面是“Vue自定义复制指令 v-copy功能的实现”的完整攻略: 什么是v-copy? v-copy是Vue自带的指令之一,用于将指定的值复制到剪切板中。使用v-copy可以使得复制的操作更加简单和便捷。但是,v-copy只能复制一个固定的值,如果我们想自定义复制内容,则需要自定义一个v-copy指令。 v-copy的功能实现 v-copy可以说是一个比较…

    Vue 2023年5月28日
    00
  • 关于axios配置请求头content-type实例详解

    关于axios配置请求头content-type实例详解 1. 了解Content-Type 在编写axios请求代码前,了解HTTP头部Content-Type字段的基本概念是非常必要的。Content-Type表示请求或响应的实体内容的类型,也就是我们常说的MIME类型。常见的Content-Type有以下几种: Content-Type 说明 appl…

    Vue 2023年5月28日
    00
  • 关于vue中的时间格式转化问题

    关于Vue中的时间格式转化问题,我为你详细讲解以下攻略。 问题描述 在Vue应用开发中,我们经常会遇到需要将日期时间格式进行转化的情况。例如从后端API接口中获取的时间戳需要格式化成常用的日期时间格式,或者用户在前端输入的日期时间字符串需要转换为时间戳等。在这样的场景下,我们需要掌握Vue中时间格式转化的方法。 解决方法 Vue中内置了许多过滤器(Filte…

    Vue 2023年5月28日
    00
  • vite + react +typescript 环境搭建小白入门教程

    下面是”vite + react +typescript 环境搭建小白入门教程”的完整攻略: 1. 安装 Node.js Node.js是运行在服务器端的JavaScript运行环境,需要先安装好这个软件才可以进行后续的搭建。在Node.js官方网站下载相应的可执行安装程序,然后按照指引进行安装。 2. 初始化项目 打开一个命令行终端,进入项目所在目录,并执…

    Vue 2023年5月28日
    00
  • vue获取v-for异步数据dom的解决问题

    解决“vue获取v-for异步数据dom的解决问题”的攻略可以分为以下几个步骤: 在data中定义一个空数组,用于存储异步获取的数据。 在mounted生命周期钩子函数中,调用异步接口获取数据,并将数据存储在定义好的空数组中。 使用v-for指令遍历数组,并渲染到页面中。 具体示例如下: 使用axios获取异步数据渲染列表 <template> …

    Vue 2023年5月28日
    00
  • Nuxt.js实战和配置详解

    Nuxt.js是一个基于Vue.js的服务端渲染框架,它可以帮助开发者快速构建出高效可靠的Web应用程序。本文将详细讲解Nuxt.js实战和配置详解,包括安装、初始化项目、路由配置、视图渲染等内容。 安装 首先,在全局安装vue-cli脚手架: npm install -g vue-cli 接着,初始化一个项目: vue init nuxt-communit…

    Vue 2023年5月28日
    00
  • 前端Vue项目详解–初始化及导航栏

    下面我来详细讲解“前端Vue项目详解–初始化及导航栏”的完整攻略。 初始化Vue项目 首先我们需要使用Vue脚手架来初始化我们的前端项目。具体步骤如下: 在终端中输入以下命令来安装Vue脚手架: npm install -g @vue/cli 运行以下命令来创建一个新的Vue项目: vue create my-project 其中my-project是你的…

    Vue 2023年5月28日
    00
  • Vue 组件渲染详情

    Vue 组件渲染详情是指在 Vue 应用中,如何使用组件进行渲染及其相关的细节。下面将从 Vue 组件的定义、组件间通信、组件生命周期、组件的复用以及常见问题五个方面,来详细讲解 Vue 组件渲染的攻略。 Vue 组件的定义 Vue 组件分为两种:全局组件和局部组件,其定义方式分别如下: 全局组件 全局组件可以在任何 Vue 实例的模板中使用,定义方式如下:…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部