资讯专栏INFORMATION COLUMN

Vue 中的 v-cloak 解读

OBKoro1 / 2295人阅读

摘要:中的解读的作用和用法用法这个指令保持在元素上直到关联实例结束编译。和规则如一起用时,这个指令可以隐藏未编译的标签直到实例准备完毕。为了避免这种情况,我们可以将写在引入的中,或者写一个内联样式,这样就得到了解决。

Vue 中的 v-cloak 解读 v-cloak 的作用和用法

用法:

这个指令保持在元素上直到关联实例结束编译。和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。官方API

{{msg}}

HTML 绑定 Vue实例,在页面加载时会闪烁

然后才会出现 加载完成 字样,为了效果更明显,我们可以延后加载 Vue 实例

setTimeout(() => {
    new Vue({
        el: "#app",
        data: {
            msg: "hello"
        }
    })
},2000)

v-cloak 可以解决这一问题,在 css 中加上

[v-cloak] {
  display: none;
}

在 html 中的加载点加上 v-cloak,就可以解决这一问题

{{msg}}
Vue1.x 与 Vue2 中 v-cloak 的不同

Vue1 中,允许将 Vue 实例挂载在 body 上,而 Vue2 是不允许的,想对整个页面实例化,需要另外用一个 div 来容纳整个页面内容,对其进行实例化

这样在使用 v-cloak 时,同样需要用到这种方法

为什么我用的 v-cloak 无效?

在实际项目中,我们常通过 @import 来加载 css 文件

@import "style.css"
@import "index.css"

而 @import 是在页面 DOM 完全载入后才会进行加载,如果我们将 [v-cloak] 写在 @import 加载的 css 文件中,就会导致页面仍旧闪烁。

为了避免这种情况,我们可以将 [v-cloak] 写在 link 引入的 css 中,或者写一个内联 css 样式,这样就得到了解决。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82189.html

相关文章

  • vue的指令

    摘要:所有的指令都是以开头。将模板中的数据以字符串的形式输出。等价于防止刷新时出现在页面上通过控制的来控制元素的实现和隐藏。减缓首次加在压力,提高性能。单向数据绑定完整写法简写一般用于的获取学习学习学习绑定事件。 vue所有的指令都是以 v- 开头。 v-html:类似于 js中的innerHTML 。可以解析模板中的标签。 v-text:类似于 js中的innerText。将模板中的数据...

    ThinkSNS 评论0 收藏0
  • Vue基础之内部指令(下)

    摘要:绑定事件监听器直接撸代码计数器是实例的挂在对象等同于,是的语法糖,在内定义好方法,指令监听事件来触发一些代码。 v-on绑定事件监听器 直接撸代码: 计数器 number:{{number}} + - var app = new Vue({ el: #app, // app是Vue实例的挂在对象 data: { ...

    maybe_009 评论0 收藏0
  • Vue基础之内部指令(下)

    摘要:绑定事件监听器直接撸代码计数器是实例的挂在对象等同于,是的语法糖,在内定义好方法,指令监听事件来触发一些代码。 v-on绑定事件监听器 直接撸代码: 计数器 number:{{number}} + - var app = new Vue({ el: #app, // app是Vue实例的挂在对象 data: { ...

    2bdenny 评论0 收藏0
  • Vue基础之内部指令(下)

    摘要:绑定事件监听器直接撸代码计数器是实例的挂在对象等同于,是的语法糖,在内定义好方法,指令监听事件来触发一些代码。 v-on绑定事件监听器 直接撸代码: 计数器 number:{{number}} + - var app = new Vue({ el: #app, // app是Vue实例的挂在对象 data: { ...

    LMou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<