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日

相关文章

  • await 错误捕获实现方式源码解析

    让我们来详细讲解一下“await 错误捕获实现方式源码解析”的完整攻略。 什么是 await? 在 JavaScript 中,await 关键字可以用于暂停执行异步函数,并等待该异步函数的返回结果。我们可以使用 await 来获取异步操作中的结果,而不必使用回调函数或者 Promise 链来处理异步结果。 await 的错误捕获实现方式 在使用 await …

    Vue 2023年5月28日
    00
  • vue-cli3项目打包后自动化部署到服务器的方法

    今天我来为大家讲解一下如何将Vue CLI 3.x项目打包后自动化部署到服务器上的方法。整个过程分为以下几个步骤: 使用Vue CLI 3.x打包项目 创建服务器环境 上传打包好的文件到服务器 配置Nginx服务器 下面,我们将一步一步来讲解这些步骤以及使用示例。 1. 使用Vue CLI 3.x打包项目 首先,我们需要先使用Vue CLI 3.x来打包我们…

    Vue 2023年5月28日
    00
  • vue.js入门教程之基础语法小结

    针对题目“vue.js入门教程之基础语法小结”的攻略,我将分别从以下几个方面来进行详细讲解。 一、前置知识 在进行Vue.js的学习之前,需要掌握一定的HTML/CSS/JavaScript基础知识。其中JavaScript是最为关键的一个部分,因为Vue.js本身就是一个JavaScript框架。同时,掌握ES6语法,能够在写Vue.js代码时更加便利。 …

    Vue 2023年5月28日
    00
  • 用Vue.js开发网页时钟

    要用Vue.js开发网页时钟,可以按照以下步骤进行操作: 步骤1:创建Vue项目 首先需要在本地安装Vue.js。如果已经安装了,那么就可以运行以下命令创建新的Vue项目: vue create clock 此处以clock为项目名。 创建后可以进入项目目录: cd clock 步骤2:创建时钟组件 接下来需要创建一个时钟组件,用来展示时间。 在compon…

    Vue 2023年5月29日
    00
  • Vue.js状态管理之Pinia与Vuex详解

    Vue.js状态管理之Pinia与Vuex详解 状态管理是什么 在一些大型 Web 应用中,数据的流转较为复杂,需要对数据的读写进行控制和管理,以保证应用的数据一致性和可靠性,而状态管理就是一种用于控制和管理应用数据的方法。 在 Vue.js 中,状态管理可以使用两种比较流行的库实现:Vuex 和 Pinia。 Vuex 简介 Vuex 是一个专门为 Vue…

    Vue 2023年5月27日
    00
  • vue单页应用的内存泄露定位和修复问题小结

    针对“vue单页应用的内存泄露定位和修复问题小结”,我们可以分为以下几个步骤来进行解决。 1. 了解什么是内存泄露 内存泄露指的是程序在运行过程中,动态分配的内存空间未被及时释放,从而导致系统的内存不断被占用,最终导致系统崩溃或者运行缓慢。尤其是前端领域,由于运行在客户端的浏览器环境中,内存泄漏更加容易发生。 2. 定位内存泄露 当我们发现系统出现内存泄漏时…

    Vue 2023年5月27日
    00
  • 关于vue2响应式缺陷的问题

    问题描述: 在Vue2中使用响应式数据,如果一个对象的属性不存在,那么对于该属性的修改并不会触发视图的更新。 解决方法: 1.使用Vue.set()方法手动触发更新 Vue.set()是Vue提供的一种修改响应式对象的方法,可以更新对象的属性并触发视图更新。使用方法如下: Vue.set(vm.someObject, ‘key’, value); 其中,vm…

    Vue 2023年5月29日
    00
  • 配置一个vue3.0项目的完整步骤

    下面是配置一个Vue3.0项目的完整步骤: 步骤一:安装Vue CLI 在配置一个Vue 3.0项目之前,首先需要安装Vue CLI。Vue CLI是Vue.js 官方脚手架工具,可以帮助我们快速地搭建Vue项目。以下是安装Vue CLI的命令: npm install -g @vue/cli 步骤二:创建一个新的Vue项目 使用Vue CLI创建Vue项目…

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