vue页面加载闪烁的问题以及解决方案
2024-09-08 17:28:07
一、原因:
问题:当我们打开Vue页面的时候,如果弱网环境,会出现一个闪烁的效果
下图:加载闪烁问题效果
原因:因为在浏览器中先执行html代码,先渲染Dom,然后再执行JavaScript代码,Vue还来不及处理的模板
二、解决:
- 在闪烁元素的最外层添加上一个v-cloak,并在css中添加样式:[v-cloak] {diaplay : none;}
- v-cloak 这个指令可以隐藏未编译的Mustache标签,直到实例准备完毕。
- 原理:利用 v-cloak 这个指令使用 display:none 来进行隐藏使用:直接在app这个写一个 v-cloak借助一个CSS[v-cloak]{display:none}
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
[v-cloak]{
display: none;
}
</style>
</head>
<body>
<div id="app" v-cloak>
{{msg}}
</div>
</body>
<script src="./js/vue.global.js"></script>
<script>
/*
问题: 当我们打开Vue页面的时候,如果弱网环境,会出现一个闪烁的效果
原因: Vue还来不及处理的模板
解决: 使用 v-cloak 来解决Vue这个打开页面的闪烁的问题
原理: 利用 v-cloak 这个指令使用 display:none 来进行隐藏
使用: 直接在app这个写一个 v-cloak
借助一个CSS
[v-cloak]{
display:none
}
*/
// 使用一个定时器模拟效果
setTimeout(() => {
Vue.createApp({
data() {
return {
msg:'hello world',
};
}, }).mount("#app");
},3000);
</script>
</html>
最新文章
- Nginx + Tomcat Windows下的负载均衡配置
- 国内固定电话正则验证:&#39;tel&#39;: [/0\d{2,3}-\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/, ";请填写有效的电话号码";],
- js复制内容加版权声明代码
- POJ1904 King&#39;s Quest(完备匹配可行边:强连通分量)
- 基于XMPP协议(openfire服务器)的消息推送实现
- java servlet 代码样例 (demo)
- LCLFramework框架之Service模式
- jquery ui 常用(二)(对话框 | 旋转器 | 工具提示框(表单) | 特效(百叶窗) )
- (转)windows下配置nginx+php环境
- [转]cookie、session、sessionid 与jsessionid
- Web前端浏览器兼容初探
- cf479D Long Jumps
- Oracle 存储过程之通用分页查询
- WCF:System.Security.Cryptography.CryptographicException: 密钥集不存在
- Java 条形码生成(一维条形码)
- Asp.Net Core 轻松学-正确使用分布式缓存
- HTTP 06 用户认证
- Java基础——Ajax(一)
- node.js中net模块创建服务器和客户端(TCP)
- 蓝桥杯历届试题 危险系数(dfs或者并查集求无向图关于两点的割点个数)