vue  html刷新和加载页面时出现闪烁如下图,然后才会出现渲染好的页面:

不要慌, 使用v-cloak可以解决这个问题:

那么,v-cloak要放在什么位置呢,是不是每个需要渲染数据的标签都要添加这个指令,经过试验发现,v-cloak并不需要添加到每个标签,只要在el挂载的标签上添加就可以,

1.在html中添加

<head>
       <link rel="stylesheet" type="text/css" href="../static/libs/iview/css/ionicons.css">
    <style>
        [v-cloak] {
          display: none ;
        }
      </style>
</head>
<body>
        <div id="hr" v-cloak>
        ...
        </div>
<script type="text/javascript" src="./../static/js/url.js"></script>
<body>
</html>

2.在css中添加

[v-cloak] {
  display: none;
}
 <div id="hr" v-cloak>
        ...
        </div>

这样就可以避免闪烁了.

但有时候也会不起作用,v-cloak的display属性被层级更高的给覆盖掉了,所以要提高层级,所以使用如下就OK:

 [v-cloak] {
          display: none !important;
        }

 

Logo

前往低代码交流专区

更多推荐