美文网首页
如何解决v-if,v-show插值表达式导致闪现

如何解决v-if,v-show插值表达式导致闪现

作者: 菲儿_cdd4 | 来源:发表于2021-05-13 09:39 被阅读0次

在开发的时候,经常会遇到页面不该出现的内容会闪现一下然后消失,研究了一下这个问题的原因和解决方案,在这里写了一个简单的demo跟大家分享一下

闪现演示:

load.gif

闪现原因:
vue要等到DOM加载完毕之后才执行js的编译,所以对使用了指令(比如v-if,v-show)或者使用了插值表达式都会出现闪现的情况。因为这些判断条件或者表达式执行之前,DOM已经渲染出来了,之后vue才会执行相应的代码

解决方案:
在js执行前先隐藏元素
如何隐藏呢?这里要和大家分享Vue的一个指令v-cloak。
v-cloak用法:这个指令保持在元素上直到关联实例结束编译。和CSS规则如[v-cloak] { display: none;}一起用时,就可以隐藏未编译的元素直到实例准备完毕

html部分:

<div id="box">
        <span v-if="seen" v-cloak>现在你看到我了</span>
</div>

js部分:

data() {
     return {
          seen: false
      }
 }

css部分:

<style>
  [v-cloak] {
      display: none;
  }
</style>

效果图:


load.gif

相关文章

  • 如何解决v-if,v-show插值表达式导致闪现

    在开发的时候,经常会遇到页面不该出现的内容会闪现一下然后消失,研究了一下这个问题的原因和解决方案,在这里写了一个简...

  • Vue v-if/v-show/插值表达式导致闪现的原因及解决办

    在开发过程中经常会发现当页面明明不应该出现的元素或内容会闪现一下然后消失,最近研究了一下这个问题的原因和解决办法,...

  • vue的十种常用指令详解

    1. v-if 功能:根据表达式的不同值。切换元素/组件的销毁和重建。 2. v-show 功能:根据表达式的不同...

  • VUE.JS中的插值表达式、v-cloak、v-text、v-h

    插值表达式 {{ x }},类似这样子的就叫插值表达式 v-cloak 使用v-cloak 能够解决插值表达式闪烁...

  • 笔记1

    v-else必须跟在v-if和v-show的标签之后,如果v-if或者v-show的值为true,那么v-else...

  • vue 面试题

    1. v-if v-show的区别 v-if 编译过程中被转化为三元表达式,条件不满足不渲染此节点v-show 编...

  • vue知识点列表

    vue基础 Vue 特点 Vue 实例 插值表达式 {{}} 指令: v-bind, v-if, v-for, v...

  • vue语法 大纲

    vue基础 Vue 特点 Vue 实例 插值表达式 {{}} 指令: v-bind, v-if, v-for, v...

  • Vue 之 基础

    插值、表达式 注意: 模板内只能是 表达式,JS 语句 和 流程控制如 if 都不行。 指令 v-if v-e...

  • 2018-05-30

    内部指令 1、v-if v-else v-show 指令v-if="isLogin"2、v-for指令 :解决...

网友评论

      本文标题:如何解决v-if,v-show插值表达式导致闪现

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