keep-Alive遇到的一个坑
在vue中,有时候我们需要缓存一个页面,这个时候会用到keep-Alive。
触发场景:
在引用同一个子组件得两个页面,且该子组件会使用到dom元素得时候。
例如子组件
<template><div class="yd-dialog-black-mask" v-show="showMask"><div class="layer-wraper"><div class="picture"><img src="../../../static/img/photo.png" alt></div><div class="content"><h1>{{staffNo}}</h1><canvas id="qrcode"></canvas><span class="desc">扫我就是我的人~</span></div><div class="btn-wraper"><div class="close-icon" @click.stop="close()"></div></div></div></div>
</template>
<script>
import QRCode from "qrcode";
import { mapState } from "vuex";
export default {props: {showMask: Boolean},data() {return {staffNo: ""};},computed: {...mapState({quickMark: state => state.user.quickMark})},methods: {close() {this.$emit("on-close");}},created() {this.staffNo = localStorage.getItem("staffNo");},mounted() {let self = this;this.$nextTick(() => {QRCode.toCanvas(document.querySelector("#qrcode"),this.quickMark,function(err) {if (err) {self.toast("生成二维码异常,请稍后再试");}});});}
};
</script><style lang="less" scoped>
.yd-dialog-black-mask {top: 0 !important;bottom: 0 !important;justify-content: center !important;align-items: center;.layer-wraper {position: relative;.picture {position: absolute;text-align: center;width: 100%;.p2r(top, -120);img {.p2r(width, 312);}}.content {text-align: center;box-sizing: border-box;.p2r(padding-top, 120);.p2r(width, 530);.p2r(height, 618);border-radius: 10px;background: #fff;h1 {.p2r(font-size, 36);.p2r(line-height, 40);font-weight: bold;}#qrcode {.p2r(margin-top, 14);.p2r(width, 350) !important;.p2r(height, 350) !important;}.desc {display: block;.p2r(margin-top, 16);.p2r(font-size, 30);}}.btn-wraper {.close-icon {.p2r(width, 70);.p2r(height, 70);margin: auto;.p2r(margin-top, 44);background: url("../../img/icon-close.png") no-repeat center center;background-size: 100%;}}}
}
</style>
解决方法如上所示就是用nextTick来解决。。不使用nextTick来解决。。不使用nextTick来解决。。不使用nextTick得时候在从keep-Alive得组件切换到另一个组件时,dom元素未被销魂,导致子组件document.querySelector("#qrcode"),选中得时keep-alive得组件而非新得路由组件得dom。导致新路由页面得二维码未生成。
keep-Alive遇到的一个坑相关推荐
- 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
最近一直被C#调用Haskell时的"尝试读取或写入受保护的内存"问题所困扰(详见C#调用haskell遭遇Attempted to read or write protected ...
- SAP WM LT10事务代码的一个坑?
SAP WM LT10事务代码的一个坑? 执行事务代码LT10,试图将storage type SAM下物料库存的几个SU转入同一个货架上.Storage type SAM有启用SUM功能的. 执行, ...
- mysql div 没有小数,mysql order by limit 的一个坑
mysql order by limit 的一个坑 分页查询的时候遇到的坑: 发现的问题: 对单个无索引的字段进行排序后limit .发现当被排序字段有相同值时并且在limit范围内,取的值并不是正常 ...
- 移动端开发碰到一个坑
移动端开发真是不断踩坑,今天在做一个移动端的组件,又发现了一个坑,记录到日志里面,做个记录,以便以后再遇到这个问题有个记录可以参考. 在ios中的chrome浏览器中,手指从屏幕上方移动出屏幕(一定要 ...
- centos 升级mysql_CentOS 7下升级MySQL5.7.23的一个坑
发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6. ...
- 0705 - 说说 NSPopover 的一个坑
今天开发 iTips,遇到一个很诡异的问题:NSOutlineView 中的 NSTableCellView 中的 NSTextField,始终有一个背景色,无论怎么设置都无法去掉.如下图中左侧部分所 ...
- nodejs request module里的json参数的一个坑
今天工作的时候遇到一个坑,在客户端用nodejs给服务器发送HTTP请求,服务器老是报错:In the context of Data Services an unknown internal ser ...
- 记录我开发工作中遇到HTTP跨域和OPTION请求的一个坑
我通过这篇文章把今天工作中遇到的HTTP跨域和OPTION请求的一个坑记录下来. 场景是我需要在部署在域名a的Web应用里用JavaScript去消费一个部署在域名b的服务器上的服务.域名b上的服务也 ...
- centos mysql 升级 5.7_CentOS 7下升级MySQL5.7.23的一个坑
发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例 在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6. ...
- mongodb count 导致不正确的数量(mongodb count 一个坑)
在mongodb 集群中,if 存在orphaned documents 和chunk migration, count查询可能会导致一个不正确的查询结果,例如我就是踩的这个坑,先不说话,看结果: ...
最新文章
- oracle创建表空间脚本
- ADF:将UI类别与动态表单一起使用
- leetcode1296. 划分数组为连续数字的集合(贪心算法)
- 得推家政派单系统源码 v1.0
- Atitit.实现反向代理(1)----url rewrite 配置and内容改写 and -绝对路径链接改写 java php
- R语言查看包安装路径
- @程序员,不会设计项目?有了这个工具,轻轻松松
- 英语单词词性顺口溜_英语十大词性顺口溜
- 安装移动视频监控 即时监控地铁车厢
- ubuntu18.04安装opencv记录
- 【Unity3D】个人开发台球小游戏
- 性能之巅:常用性能分析方法
- Mini-NDN 安装
- 计算机网络各层的协议
- python实现求解完美立方等式
- 安全合规/ISO--2--ISO 27001介绍
- python规范pep8_Python—PEP8规范
- 融入发展建设 承担青年使命
- C语言之五子棋项目 基于EasyX图形库
- 树莓派4B+配件+Intel神经棒2代购机指南
热门文章
- 地籍管理 : 宗地数据处理的一般步骤
- (二)S7Comm协议分析
- Linux-comm
- Elasticsearch实战(四)---中英文分词及拼音搜索
- [CSP-S 2022] 假期计划题解
- perl里嵌套shell命令转义符_Linux-包教包会系列之-shell
- 模数转换,你必须知道的8个经典ADC转换电路方案
- android摄像头旋转花屏,Android OpenGL YUV 旋转花屏解决、Camera获取图像
- 攻防世界_难度8_happy_puzzle
- OSS云文件列举分页功能的解决方法