vue跳转页面打开新窗口,并携带与接收参数方式

Vue中,我们可以通过router实例和router-link标签来实现页面跳转。当需要在新窗口中打开一个页面并携带参数时,可以使用window.open方法和URLSearchParams对象来实现。

以下是其中一种实现方式的代码:

<template>
  <!--使用router-link标签指定跳转到新页面的路径-->
  <router-link :to="{path: '/newPage', query: {param1: 'value1', param2: 'value2'}}" target="_blank">打开新页面</router-link>
</template>
//在路由中定义新页面的路由
{
  path: '/newPage',
  name: 'NewPage',
  component: NewPage
}

//在新页面中接收参数
<template>
  <div>
    <p>参数1:{{param1}}</p>
    <p>参数2:{{param2}}</p>
  </div>
</template>
<script>
export default {
  name: 'NewPage',
  data() {
    return {
      param1: '',
      param2: ''
    }
  },
  created() {
    //获取参数
    const params = new URLSearchParams(this.$route.query)
    this.param1 = params.get('param1')
    this.param2 = params.get('param2')
  }
}
</script>

另一种实现方式是通过在新页面中直接读取浏览器地址栏中的参数值。

以下是代码示例:

<template>
  <!--使用普通的a标签打开新页面,在href中指定新页面的路径和参数-->
  <a :href="newUrl" target="_blank">打开新页面</a>
</template>
<template>
  <div>
    <p>参数1:{{param1}}</p>
    <p>参数2:{{param2}}</p>
  </div>
</template>
<script>
export default {
  name: 'NewPage',
  data() {
    return {
      param1: '',
      param2: ''
    }
  },
  created() {
    //获取参数
    const urlParams = new URLSearchParams(window.location.search)
    this.param1 = urlParams.get('param1')
    this.param2 = urlParams.get('param2')
  },
  computed: {
    //组装新窗口打开的链接地址和参数
    newUrl() {
      const baseUrl = window.location.href.split('?')[0] //获取当前页面地址,不包含参数部分
      return `${baseUrl}?param1=value1&param2=value2`
    }
  }
}
</script>

以上两种方式,都可以实现在新窗口中打开页面并携带参数,要根据实际情况选择合适的实现方式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue跳转页面打开新窗口,并携带与接收参数方式 - Python技术站

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

相关文章

  • vue构建动态表单的方法示例

    Sure,让我来详细讲解一下“vue构建动态表单的方法示例”的完整攻略。 首先,需要了解动态表单是什么?动态表单是指根据数据模型自动生成表单,可以通过配置数据模型来快速地构建表单,例如业务需要由于某个字段打回重填,再次提交时可能该字段并不需要填写。这时候就需要一个动态表单来依据条件来进行表单的构建。 接下来我们开始讲解攻略,主要分为以下四个步骤: 步骤一:数…

    Vue 2023年5月28日
    00
  • Vue this.$router.push(参数)实现页面跳转操作

    当我们使用Vue.js构建单页面应用时,有时需要在不同的页面之间进行路由跳转。Vue Router提供了一些方法来实现这一功能,其中之一是$this.$router.push()方法。以下是关于如何使用$this.$router.push()方法实现页面跳转操作的完整攻略。 前置准备 要使用Vue Router,需先安装Vue Router模块并配置路由。 …

    Vue 2023年5月27日
    00
  • 一篇文章总结Vue3.2语法糖使用

    一篇文章总结Vue3.2语法糖使用 简介 Vue.js是一款流行的前端JavaScript框架,而Vue 3是其最新版本,其中引入了一些方便开发的新特性,即语法糖。本篇文章将讲解Vue3.2语法糖的使用方法。 defineComponent函数 在Vue3中,我们可以使用defineComponent函数定义组件,它可以让代码更加简洁明了。下面是一个使用de…

    Vue 2023年5月27日
    00
  • Vue动态组件与内置组件浅析讲解

    Vue动态组件与内置组件浅析讲解 什么是Vue动态组件 Vue动态组件是一种结合动态组件和组件的功能,允许我们在运行时通过提供一个名称来动态切换组件。 我们可以使用Vue的内置动态组件标签\<component>,该标签可以通过一个特殊的is属性动态绑定组件。 例如: <component :is="currentComponen…

    Vue 2023年5月28日
    00
  • vue-cli2.9.3 详细教程

    Vue CLI2.9.3 详细教程 Vue CLI2.9.3 是一个由 Vue 官方提供的命令行工具,用于快速搭建基于 Vue.js 的项目和 SPA 应用,可根据用户的选择预设一套规范的项目目录结构、开发规范、自动化构建及相关依赖库等。本教程将详细介绍如何使用 Vue CLI2.9.3 进行项目搭建以及配置。 安装 Vue CLI 命令行工具 首先,需要使…

    Vue 2023年5月27日
    00
  • Vue实现商品放大镜效果

    接下来我将详细讲解“Vue实现商品放大镜效果”的完整攻略,过程中会包含两个示例说明。 什么是商品放大镜效果 商品放大镜效果指在网站的商品详情页面中,当用户将鼠标悬停在商品图片上时,放大镜会展示图像的更高分辨率。这种效果可以让用户更清楚地查看商品的细节,提高用户的购买欲望,因此在电商网站中非常常见。 在实现商品放大镜效果时,我们需要用到一些技术,包括HTML、…

    Vue 2023年5月28日
    00
  • 使用vue写一个翻页的时间插件实例代码

    下面我为您详细讲解如何使用vue写一个翻页的时间插件实例代码。 1. 创建vue组件 首先,在Vue项目中定义一个翻页的时间插件组件。为了便于管理,我们通常将该组件定义在一个单独的文件中,在该文件中定义一个名为Timer.vue的组件。 <template> <div class="timer"> <span…

    Vue 2023年5月29日
    00
  • Vue 进阶之路(三)

    下面我来为您详细讲解一下“Vue 进阶之路(三)”的完整攻略。 标题 “Vue 进阶之路(三)”的完整攻略主要包含以下内容: 1. Vue的混入 混入是Vue中的一个非常有用的特性,它可以让我们把一个对象的属性、方法等合并到一个Vue组件中。这样做的好处是可以有效地避免多个组件之间的代码冗余。 下面代码展示了如何在Vue中使用混入: const myMixi…

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