• 技术文章 >web前端 >html教程

    防止vuejs在解析时出现闪烁

    2016-09-20 03:30:03原创704

    ---## 防止vuejs在解析时出现闪烁 ##

    原因:
    在使用vuejs、angularjs开发时,经常会遇见在如Chrome这类能够快速解析的浏览器上出现表达式({{ express }} ),或者是模块(div)的闪烁。对于这个问题由于JavaScript去操作DOM,都会等待DOM加载完成(DOM ready)。对于vuejs、angularjs这些会在DOM ready完会才回去解析html view Template,所以对于Chrome这类快速的浏览器你会看见有闪烁的情况出现。而对于IE7,8这类解析稍慢的浏览器大部分情况下是不会出现这个问题的。

    解决方法:
    在vuejs、angularjs中为我们提供了v-cloak、ng-cloak来实现防止闪烁的方案,同时对于bing文字({{ express }} )我们也可以改为v-bind、ng-bind来实现避免。

    下面以vuejs为例:

    #v-cloak
    用法:
    
    这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。
    
    示例:
    1 [v-cloak] {
    2   display: none;
    3 }
    4 
    5 
    6 {{ message }} 7

    不会显示,直到编译结束。 原理: 带有v-clock的的元素设置为display:none,隐藏掉,在等到vue解析到带有v-clock的节点时候,会把attribute和class同时remove掉,这样就可以实现防止节点的闪烁。 实例:
    //example1:
    <span>{{price}}span>
    
    //example2: 
    <span v-bind="price">span>
    
    //example3: 
    <span v-cloak>{{price}}span>
    
    上例子2和例子3实现的效果是一样的,而例子1在vuejs解析{{price}}之前,用户是可以看到"{{price}}"这个字符串的。而例子2和例子3不会有这种闪烁的情况。
    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:防止vuejs在解析时出现闪烁
    上一篇:圣杯布局 双飞翼布局 下一篇:Html语义化理解
    大前端线上培训班

    相关文章推荐

    • html怎样设置div背景图片• html怎么改变按钮颜色• html中table行间距怎么设置• 怎样禁止html页面滚动• html怎么写按钮

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网