vue开发手机页面闪烁_Vue页面加载闪烁问题的解决方法_婳祎_前端开发者

v-if 和 v-show 的区别

v-if只会在满足条件时才会编译,而v-show不管是否满足条件始终会编译,v-show的显示与隐藏只是简单的切换

也就是说,在使用v-if时,若值为false,那么页面将不会有这个

使用场景

一般来说,v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换 v-show 较好,如果在运行时条件不大可能改变 v-if 较好。

另外

1.v-if 指令可以应用于template包装元素上,而v-show不支持template

2.将v-show应用在组件上时,因为指令的优先级 v-else 会出现问题,解决办法就是用另一个 v-show 替换 v-else

// 错误

这可能也是一个组件

// 正确做法

这可能也是一个组件

解决

方法一:v-cloak

v-cloak指令和

eg:

//

不会显示,直到编译结束。

[v-cloak]{

display:none;

}

{{ message }}

方法二:v-text

而使用v-text的好处就是永远更好的性能,更重要的是可以避免FOUC (Flash of Uncompiled Content) ,也就是上面与遇到的问题。

eg:

{{message}}

补充:

页面加载进度条最初我是在youtube上看到的,后面几乎在各大网站上都能见到它的身影,可以让用户在加载页面的时候不会对着完全空白的页面发呆,提升用户体验

但是从开发角度讲,这种进度条在真实性上确实很难把握,因为在逻辑代码加载完成之前,我们都不能统计到进度,而逻辑代码自身的进度也无法统计。另外,我们不可能监控到所有

事实上,用户并不是在乎你的页面究竟加载了百分之几,而真正关心的是离加载完还有多久,以及这个空白页面是没有加载完,还是加载完就是空白的。所以没我们需要去“模拟”一个进度条,在后端数据返回前利用一个假的动画效果模拟加载,在数据返回后读完进度条并且隐藏。

// progress-bar.vue

export default {

data() {

return {

isShow: true, // 是否显示进度条

val: 0, // 进度

}

},

props: {

/**

* 每10毫秒自增幅度

*/

step: {

type: Number,

default: 5,

},

/**

* 初始值

*/

initVal: {

type: Number,

default: 0,

},

/**

* 到一定进度停止

*/

stopVal: {

type: Number,

default: 80,

},

/**

* 进度条继续到成功

*/

isOk: {

type: Boolean,

default: false,

},

},

mounted() {

// 初始化后加载进度,加载到百分之多少由stopVal决定

this.val = this.initVal

let step = this.step

let timer = setInterval(() => {

this.val = this.val + step

this.$el.style.width = this.val + '%'

// 父组件数据加载完前进度条最多到stopVal的这个百分值

if (this.val >= this.stopVal) {

clearInterval(timer)

return

}

}, 10)

},

watch: {

/**

* 监听组件props变化决定是否继续加载,一般在父组件数据加载完后改变此标志位

*/

isOk() {

let val = this.val

let step = this.step

let timer = setInterval(() => {

val = val + step

this.$el.style.width = val + '%'

// 加载到百分百完成

if (val >= 100) {

// 关闭定时器

clearInterval(timer)

// 加载完成关闭进度条

this.isShow = false

// 加载完成的回调

this.$emit('callback', 'load success')

return

}

}, 10)

},

},

}

.progress-bar {

position fixed

top 0

height 6px

width 0

background-color #999

}

.fade {

&-enter-active, &-leave-active {

transition: all .3s

}

&-enter, &-leave-active {

opacity: 0

}

}

总结

以上所述是小编给大家介绍的vue页面加载闪烁问题的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对前端开发者网站的支持!

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

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

相关文章

知识图谱论文阅读(二十一)【SIGIR2019】NGCF: Neural Graph Collaborative Filtering

题目:Neural Graph Collaborative Filtering 代码: https://github.com/xiangwang1223/neural_graph_collaborative_filtering 本文参考了博文 想法 (1)其实是很有缺点,在消息传播中,只是使用了邻居与目…

[推荐]VMware Workstation 6.5虚拟机(汉化补丁+注册机+原版安装文件)

VMware虚拟机6.5 新版虚拟机过了近一年的开发,VMware Workstation 6.5终于正式发布了。 这个增强版的Vmware Workstation 6.5不仅将3D加速带到了虚拟机平台,而且新增的Unity模式更是改变了虚拟机应用的模式。 VMware Workstation 6.5新特性有&#xff1a…

bootstrap获取弹框数据_Bootstrap模态弹出框的实例教程

前面的话在 Bootstrap 框架中把模态弹出框统一称为 Modal。这种弹出框效果在大多数 Web 网站的交互中都可见。比如点击一个按钮弹出一个框,弹出的框可能是一段文件描述,也可能带有按钮操作,也有可能弹出的是一张图片。本文将详细介绍Bootstra…

知识图谱论文阅读(二十三)【SIGIR2020】Multi-behavior Recommendation with Graph Convolutional Networks

题目: Multi-behavior Recommendation with Graph Convolutional Networks 论文地址: 论文代码: 想法 将相同行为的交互方式进行了聚合来计算user Embedding和item Embedding 创新 模型要做的事情就是user-item传播层学习行为影响力度&am…

LeetCode 1200. 最小绝对差

1. 题目 给你个整数数组 arr,其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。 示例 1: 输入:arr [4,2,1,3] 输出:[[1,2],[2,3],[3,4]]示例 2: 输入:ar…

在mojoportal项目中发邮件使用的是dotnetopenmail

[翻译]开源发送邮件组件dotnetopenmail使用介绍 在mojoportal项目中发邮件使用的是dotnetopenmail介绍发邮件是非常简单的,不管用System.web.mail [ASP.NET 1.1]或System.Net.mail [ASP.NET 2.0],但是还是有其他第三方组件可以被使用,比如DotNetOpenMail.他可以使你用最少的代码…

怎么看表_干货 | 剪力墙、柱、板配筋率到底怎么算?

干货 | 剪力墙、柱、板配筋率到底怎么算?正在努力的阿源 北京峰源结构设计 剪力墙(纯剪力墙)1.一般部位墙厚高规7.2.1条及抗规6.4.1条,对于一般部位,一、二级不应小于160mm且不宜小于层高或无支长度的1/20,…

(二十四)【2021 ACL】OntoED: Low-resource Event Detection with Ontology Embedding

题目: OntoED: Low-resource Event Detection with Ontology Embedding 论文链接: https://arxiv.org/abs/2105.10922 论文代码:https://github.com/231sm/Reasoning_In_EE 论文 什么原型? Prototypical networks for few-shot …

哈尔滨理工C语言程序设计精髓_【注意啦】哈尔滨工业大学2020考研计算机专业课调整,难度提升!...

前言:最近各高校在密集调整计算机相关专业的专业课,从热门985高校、211高校到普通本科,许多学校的专业课都进行了调整。各高校通常会发布专业课调整通知或者直接发布2020研究生招生专业目录,请各位同学多多关注相关信息。哈尔滨工…

数据恢复软件(绝对真实可用)

本软件已经本人测试,这个数据恢复软件是我用过的感觉最好用的一个了。声明:我是在我电脑没有重装系统的前提下进行测试的。小小的这么一个绿色软件,还真的可以找回大部分删除了N久的文件。感觉很爽。现给大家展示几张我测试时的截图&#xff…

LeetCode 1221. 分割平衡字符串

1. 题目 在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。 返回可以通过分割得到的平衡字符串的最大数量。 示例 1: 输入:s "RLRRLLRLRL"…

安装pp框架

第一步: 创建环境 conda create --name pp37 python3.7 第二步: 激活环境 conda activate pp37 第三步: 官方安装 conda install paddlepaddle-gpu2.1.3 cudatoolkit10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/clou…

基础算法学习(二)_二叉树及应用赫夫曼编码

这次学习的重点在于二叉树的性质、链式存储结构(也就是C语言的struct)和赫夫曼编码,学习的教材是清华大学出版社出版的C语言版数据结构。 首先是二叉树: 二叉树(Binary Tree)是另一种树形结构&#xff…

LeetCode 1222. 可以攻击国王的皇后(set)

1. 题目 在一个 8x8 的棋盘上,放置着若干「黑皇后」和一个「白国王」。 「黑皇后」在棋盘上的位置分布用整数坐标数组 queens 表示,「白国王」的坐标用数组 king 表示。 「黑皇后」的行棋规定是:横、直、斜都可以走,步数不受限…

win10开始菜单添加磁贴_Windows 10开始菜单磁贴美化教程

前言我们都知道,Windows 10在美化上可没有下足功夫,尤其是开始菜单的磁贴上。几年前,我们还觉得这种磁贴设计在大众面前焕然一新,可是近几年来,也没见磁贴有什么起色,除了不能自定义背景颜色外,…

【Text_Classification】学习到的语法知识

1. 任务 1.1 字典中每个种类的准确率 分母: 首先计算每个种类的总数! for value in label:# get(value, num)函数的作用是获取字典中value对应的键值, num0指示初始值大小。label_cout[value] label_cout.get(value, 0) 1label_acc[value] label_a…

%求余数 rand随机数

//getSeconds() 0-59number new Date().getSeconds() % 3 1; //随机数,从1到3//0-9之间 Math.random()*10var num1 Math.round(Math.random()*10) % 3 随机数,从0到2 任何数%3 得到 0 1 2 任何数%4 得到 0 1 2 3转载于:https://www.cnblogs.com/reo…

LeetCode 1217. 玩筹码(脑筋急转弯)

1. 题目 数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。 你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以): 将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹…

windows脚本命令闪退_NCL2Python|windows系统安装Pyngl和Pynio

自从NCL停更之后,python的知名度都不断提高了,我也开始了python学习之旅,但是还没开始,就被如何安装Pyngl和Pynio给困住了。网上和官网给的教程都是Linux系统或者OS系统,有老板服务器的同学压根不用担心这个问题&#…

【Text_classification】 PaddlePaddle框架下出错调整到运行的实验和记录

使用的是Paddle框架2.0版本 网页: https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.1/demo/text_classification 也可以在其平台上利用公开数据集跑一跑: 网页:https://aistudio.baidu.com/aistudio/projectdetail/2390146?cont…