VUE课程---7、解决插值表达式闪烁问题

VUE课程---7、解决插值表达式闪烁问题

一、总结

一句话总结:

vue中解决插值表达式闪烁问题,可以用v-cloak指令,v-cloak在css中用属性选择器设置为display: none;
<style>
  /*属性选择器*/
  [v-cloak]{
      display: none;
  }
</style>
<div id="app">
    <p v-cloak>{{msg}}</p>
</div>

1、vue中v-cloak解决插值表达式闪烁问题 原理?

*、在vue没有被成功加载解析之前,视图对应的标签上带了v-cloak属性(指令),用属性选择器设置样式为display: none;,所以元素被隐藏
*、在vue被成功加载解析后,vue会移除视图对应标签上面的v-cloak,所以元素被显示出来了

二、解决插值表达式闪烁问题

博客对应课程的视频位置:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>解决插值表达式闪烁问题</title>
 6     <style>
 7         [v-cloak]{
 8             display: none;
 9         }
10     </style>
11 </head>
12 <body>
13 <!--
14 插值表达式闪烁 的原因
15 在vue.js没有被成功加载之前,new的vue对象肯定是new不出来的,
16 那么vue对象控制的区域肯定也是控制不了的,
17 那么视图的这块区域就会用标签默认的解析方式,
18 那么插值表达式肯定就被显示出来了
19 
20 解决插值表达式闪烁问题的思路
21 1、在vue.js没有被成功加载之前,我们把视图隐藏,这样用户就看不到视图,
22 自然也看不到插值表达式,自然也不会有插值表达式闪烁的问题,
23 2、而在vue.js被加载成功之后,我们再把视图显示,这样用户就可以看到正常的内容了
24 
25 -->
26 <div v-cloak id="app">
27     {{msg}}
28 </div>
29 <script src="../js/vue.js"></script>
30 <script>
31     new Vue({
32         el:'#app', //element
33         data:{
34             msg:'欢迎来到vue的世界'
35         }
36     });
37 </script>
38 </body>
39 </html>
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/12846773.html