html5文字闪现,小项目中怎么防止Vue的闪现画面效果

一句话总结

HTML: 元素加上v-cloak

CSS: [v-cloak]{display: none}

过程

页面刚加载的时候胡子语法会显示出来。

v-cloak是VueJS小型项目中提升用户体验简单且重要的方法。

用法

HTML中在你需要组织闪现的标签上加上v-cloak

blabla

{{text}}

CSS中给v-cloak设定样式,这个样式是只有【在vue实例编译结束前】应用的样式。

[v-cloak]{

display: none;

}

原理

我没读完源码,但是v-cloak的原理我大概理解一点:

首先是CSS选择器,用[target]选择的是“带有 target 属性所有元素。”。可以点这里复习选择器。

那么[v-cloak]选择出来的就是所有带有v-cloak属性的元素了。

实例初始化完成之后,VueJS中会把Vue中特有的attribute去掉。在实例初始化完成之前,上面写的main的HTML代码实际是这样的:

然后加上CSS,就把所有带有v-cloak的元素都display: block了。

其实不止是v-cloak,你可以用v-if来试试,CSS里使用[v-if]{display:none},效果看起来是一样的。和v-cloak一样,v-if也是在实例编译完之后去掉。

源码

然后我刚才去读了一下源码,大概是这一段,感兴趣的大佬可以去搜搜读读理解理解。

if (isRealElement) {

// mounting to a real element

// check if this is server-rendered content and if we can perform

// a successful hydration.

if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {

oldVnode.removeAttribute(SSR_ATTR);

hydrating = true;

}

}

到此这篇关于小项目中怎么防止Vue的闪现画面效果的文章就介绍到这了,更多相关小项目vue闪现画面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值