vue2路由跳转和浏览器回退时弹窗的开启

文章目录

  • 前言
  • 一、跳转到B页面的新增弹框具体流程
  • 二、返回A页面时打开详情弹框

前言

我这里有个需求是在A页面中的详情弹框中,点击按钮跳转到B页面的新增弹框中,并把A页面中的数据带过去填到B页面新增的form表单中,此时如果点击了浏览器的回退按钮,就会重新回到A页面中刚才打开的那条数据的详情弹框。

一、跳转到B页面的新增弹框具体流程

1.在A页面中的详情弹框中点击按钮触发addWorkOrder方法。

    async addWorkOrder(row) {//把这条数据的id存到vuex中,以便于在后续浏览器回退到该页面时,通过此id正确打开该条数据的详情弹框this.$store.commit("productDesignIdChange", this.detail.id || '');//通过router的push方法跳转到B页面//此处用async,await以防跳转到B页面了,但是不能正常打开弹框await this.$router.push("B页面路由路径");//通过全局事件总线的$emit方法,触发B页面的方法,从而实现打开B页面的新增弹框this.$bus.$emit("releaseWorkOrder", [this.detail, row, "1"]);},

2.在B页面中的mounted钩子中,监听A页面中的$emit方法所触发的事件,如果监听到了,就去执行releaseWorkOrder方法

  mounted() {this.$bus.$on("releaseWorkOrder", this.releaseWorkOrder);},beforeDestroy() {this.$bus.$off("releaseWorkOrder");},

3.在此方法中处理从A页面中通过全局事件总线传来的方法,并同步到form表单中

    releaseWorkOrder(data) {//。。。//处理数据的代码//。。。//然后调用你自己之前写的新增方法,去打开弹窗之类的操作。。。this.handleAdd();},

二、返回A页面时打开详情弹框

这里需要用到路由守卫去控制vuex的id,根据是否有id去判断是否打开详情弹框

// 全局路由前置守卫
router.beforeEach((to, from, next) => {//如果来的路由路径和去往的路由路径都不是A页面,那么把vuex中的id数据重置为''if (from.path !== '/A' && to.path !== '/A') {store.commit("productDesignIdChange", '');}next();
});

2.这两个路由首位是写到A页面中的。

  //在路由进入该组件之前被调用。beforeRouteEnter(to, from, next) {next((vm) => {let productDesignId = vm.$store.state.productDesignId;//进入A页面时判断vuex中的id是否为''if (productDesignId) {//如果不为空,则调用showRow方法去打开弹框展示数据。vm.showRow({ id: productDesignId });//并且再此把vuex中的id重置为'',防止后面通过其他方法进到该组件时页打开了弹窗。vm.$store.commit("productDesignIdChange", '');}});},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/27763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

以Java的方式将文件上传到阿里云OSS

文章目录 1. 开通对象存储服务2. 创建 AccessKey 密钥3. 通用代码实现 1. 开通对象存储服务 控制台 → 对象存储 OSS → 立即开通 Bucket列表 → 点击创建 Bucket 填写名称、地域,名称创建后不可修改,地域选择最近的,存储类型选择标准存储&…

2023-08-08 LeetCode每日一题(任意子数组和的绝对值的最大值)

2023-08-08每日一题 一、题目编号 1749. 任意子数组和的绝对值的最大值二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums 。一个子数组 [numsl, numsl1, …, numsr-1, numsr] 的 和的绝对值 为 abs(numsl numsl1 … numsr-1 numsr) 。 请你找出 …

Maltab之滤波带来的时延问题

直接使用lowpass, highpass, bandpass等函数时会自动对filtering带来的时延给予补偿.但是对于自己设计的filter, 利用filt来进行滤波的话就会带来时延. 可以使用函数 grpdelay(filter,N,Fs) 来查看.对于FIR filter, 造成的时延对于不同的频率相应是一致的, 那么直接移动滤波后的…

Mysql8.0变更特性

性能翻倍 账户与安全 用户的创建和授权 在MySQL之前的版本,创建用户和给创建的用户授权可以一条语句执行完成: grant all privileges on *.* to test% identified by suibowenkuangtu6;在MySQL 8中,创建用户和授权需要分开执行&#xff0c…

STM32基础入门学习笔记:核心板 电路原理与驱动编程

文章目录: 一:LED灯操作 1.LED灯的点亮和熄灭 延迟闪烁 main.c led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c delay.c 3.按键控制LED灯 key.h key.c main.c 二:FLASH读写程序(有…

LeNet卷积神经网络-笔记

LeNet卷积神经网络-笔记 手写分析LeNet网三卷积运算和两池化加两全连接层计算分析 修正上图中H,W的计算公式为下面格式 基于paddle飞桨框架构建测试代码 #输出结果为: #[validation] accuracy/loss: 0.9530/0.1516 #这里准确率为95.3% #通过运行结果可以看出&am…

Stable Diffusion - Style Editor 和 Easy Prompt Selector 提示词插件配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132122450 Stable Diffusion 的 Prompt 的功能,可以用文字来描述想要生成的图像,根据输入来创造出逼真的图像。Prompt 支持…

Python 面试必知必会(一):数据结构

《Python Cookbook》的作者David Beazley的课程PPT开源了,目标用户是希望从编写基础脚本过渡到编写更复杂程序的高级 Python 程序员,课程主题侧重于流行库和框架中使用的编程技术,主要目的是更好地理解 Python 语言本身,以便阅读他…

【深度学习】采用自动编码器生成新图像

一、说明 你知道什么会很酷吗?如果我们不需要所有这些标记的数据来训练 我们的模型。我的意思是标记和分类数据需要太多的工作。 不幸的是,大多数现有模型从支持向量机到卷积神经网,没有它们,卷积神经网络就无法训练。无监督学习不…

【Kubernetes】资源管理方法

目录 陈述式资源管理方法: 查看版本信息 查看资源对象简写 查看集群信息 配置kubectl自动补全 node节点查看日志 基本信息查看 查看 master 节点状态 查看命名空间 查看default命名空间的所有资源 创建命名空间app 删除命名空间app 描述某个资源的详细…

中断子系统--硬件层(GICv3)

目录 综述 硬件层--GICV3 中断类型 中断状态 Distributor组件 中断使能配置 中断触发方式配置 中断优先级配置  中断分组标记 GIC处理中断流程 综述 由上面的block图,我们可知linux kernel的中断子系统分成4个部分: 硬件层:最下层…

AP2400 LED汽车摩灯照明电源驱动 过EMC DC-DC降压恒流IC

产品特点 宽输入电压范围:5V~100V 可设定电流范围:10mA~6000mA 固定工作频率:150KHZ 内置抖频电路,降低对其他设备的 EMI干扰 平均电流模式采样,恒流精度更高 0-100%占空比控制&#xff0…

连续四年入选!三项荣耀!博云科技强势上榜Gartner ICT技术成熟度曲线

日,全球知名咨询公司Gartner发布了2023年度的《中国ICT技术成熟度曲线》(《Hype Cycle for ICT in China, 2023》,以下简称“报告”)。令人瞩目的是,博云科技在报告中荣获三项殊荣,入选云原生计算&#xff…

SQL面试题:第二个优化案例

今天继续给大家分享一个 SQL 优化案例。 问题描述 已知表结构如下: CREATE TABLE customer ( C_CUSTKEY int NOT NULL, C_NAME varchar(25) NOT NULL, C_ADDRESS varchar(40) NOT NULL, C_NATIONKEY int NOT NULL, C_PHONE char(15) NOT NULL, C_ACCTBAL decimal…

揭秘bi数据分析系统:如何轻松掌握商业智能的秘密

在大数据时代的背景下,企业开始越来越重视数据分析的重要性。bi数据分析系统不仅可以帮助企业感知市场变化趋势,还可以实时监测并评估企业经营决策的效果,支持企业的持续发展。在国内,国产数据处理工具如瓴羊Quick BI等崛起&#…

Neety与IO模型简介

Netty与IO模型简介 1、Netty 是由 JBOSS 提供的一个 Java 开源框架,现为 Github 上的独立项目。 2、Netty 是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络 IO 程序。 3、Netty 主要针对在 TCP 协议下,面向…

2023-08-07力扣今日四题-好题

链接: 剑指 Offer 03. 数组中重复的数字 题意: 如题 解: 看到一个很牛的时间复杂度O(n)的原地算法:由于数组长度n,数组内只有0到n-1,那么,我们用对应-n到-1表示nums[index]出现过一次&…

【android】mac mini m2安装android studio

文章目录 一、环境搭建1.1 安装路径1.2 mac arm1.3 安装android studio 二、安装sdk三、更新sdk3.1 关闭代理3.2 重新更新sdk 四、更新api五、项目创建六、gradle安装七、avd八、问题:build tools缺失九、编译运行小结 一、环境搭建 1.1 安装路径 windows&#xf…

高温老化房软件使用教程

高温老化炉软件通常具有以下几个模块: 1. 参数设置模块:该模块用于设置高温老化炉的相关参数,包括温度、时间、压力等。用户可以通过输入框、滑动条或下拉菜单等方式设定参数,并将参数发送给高温老化炉。 2. 监控模块:…

Ansible环境搭建,CentOS 系列操作系统搭建Ansible集群环境

Ansible是一种自动化工具,基于Python写的,原理什么的就不过多再说了,详情参考:https://www.itwk.cc/post/403.html https://blog.csdn.net/qq_34185638/article/details/131079320?spm1001.2014.3001.5502 环境准备 HOSTNAMEIP…