美文网首页
传统老项目使用vue.js框架,在加载页面里会闪烁的问题以及解决

传统老项目使用vue.js框架,在加载页面里会闪烁的问题以及解决

作者: owlcity | 来源:发表于2024-10-18 15:00 被阅读0次

一、原因:
问题:当我们打开Vue页面的时候,如果弱网环境,会出现一个闪烁的效果
下图:加载闪烁问题效果


image.png

原因:因为在浏览器中先执行html代码,先渲染Dom,然后再执行JavaScript代码,Vue还来不及处理的模板

引入式vue.js它是运行时编译的,脚手架项目是经过预编译的,所以也就解释了为什么会闪烁的原因。

二、解决:
在闪烁元素的最外层添加上一个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>

相关文章

  • Android中WebView使用的一个问题

    Android项目中使用WebView,解决问题时顺便遇到的一个页面回调时序的问题。 问题描述 WebView加载...

  • Vue.js:页面闪烁的解决思路以及相关问题回顾

    这次修改bug看起来很简单,但是自己一开始的思路不够清晰,对于vue的理解页不够深刻,总共改了三次,需要记录以及反...

  • Mustache问题

    问题现象 页面加载慢时,会先显示一会Mustache标签,等资源加载完才能正常显示。 解决办法 使用Vue提供的 ...

  • IOS 使用WKWebView的loadHTMLString属性

    问题 原生项目中加载html页面,使用WKWebview的loadHTMLString属性加载html外部样式...

  • 性能优化

    问题:setImageResource()造成卡顿和oom解决方案:使用图片加载框架Glide加载图片

  • Angularjs项目常见问题总结

    1.Angularjs项目页面加载两次 使用Angularjs搭的框架,每次刷新页面都加载两次,进行两次数据请求,...

  • 一、说明

    总结一下自己使用layui框架以及layuiAdmin模板完成项目是遇到的问题,还有一些在社区论坛里搜索到的解决方...

  • Vue-Router的使用方法

    使用 Vue.js 做项目的时候,一个页面是由多个组件构成的,所以在跳转页面的时候,并不适合用传统的 href,于...

  • 使用 vue-router 跳转页面

    使用 Vue.js 做项目的时候,一个页面是由多个组件构成的,所以在跳转页面的时候,并不适合用传统的 href,于...

  • 使用OpenSessionInViewFilter方案解决Hib

    使用OpenSessionInViewFilter方案解决Hibernate懒加载异常的问题 在项目练习的时候,遇...

网友评论

      本文标题:传统老项目使用vue.js框架,在加载页面里会闪烁的问题以及解决

      本文链接:https://www.haomeiwen.com/subject/zznqdjtx.html