Vue.js 中的 v-cloak 指令及使用详解


Posted in Javascript onNovember 19, 2018

先来看下vue.js 中的v-cloak 指令

Vue.js 中的 v-cloak 指令及使用详解

可以使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除。

当网络较慢,网页还在加载 Vue.js ,而导致 Vue 来不及渲染,这时页面就会显示出 Vue 源代码。我们可以使用 v-cloak 指令来解决这一问题。

html:

<div id="app">
  {{context}}
</div>

js:

<script>
  var app = new Vue({
    el: '#app',
    data: {
      context:'互联网头部玩家钟爱的健身项目'
    }
  });
</script>

效果:

Vue.js 中的 v-cloak 指令及使用详解

我们使用 v-cloak 指令来解决屏幕闪动的问题吧O(∩_∩)O~

js 不变,在 div 中加入 v-cloak 指令。

html:

<div id="app" v-cloak>
  {{context}}
</div>

css:

[v-cloak]{
  display: none;
}

使用 v-cloak 指令之后的效果( demo ):

Vue.js 中的 v-cloak 指令及使用详解

在简单项目中,使用 v-cloak 指令是解决屏幕闪动的好方法。但在大型、工程化的项目中(webpack、vue-router)只有一个空的 div 元素,元素中的内容是通过路由挂载来实现的,这时我们就不需要用到 v-cloak 指令咯。

下面看下Vue中v-cloak使用详解

这次给大家带来Vue中v-cloak使用详解,Vue中v-cloak使用的注意事项有哪些,下面就是实战案例,一起来看一下。

v-cloak 的作用和用法

用法:

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

setTimeout(() => {
 newVue({
  el:'#app',
  data: {
   msg:'hello'
  }
 })
},2000)

v-cloak 可以解决这一问题,在 css 中加上HTML 绑定 Vue实例,在页面加载时会闪烁然后才会出现加载完成字样,为了效果更明显,我们可以延后加载 Vue 实例

[v-cloak] {
 display: none;
}

Vue1.x 与 Vue2 中 v-cloak 的不同在 html 中的加载点加上 v-cloak,就可以解决这一问题

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

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

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

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

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

为了避免这种情况,我们可以将[v-cloak]写在 link 引入的 css 中,或者写一个内联 css 样式,这样就得到了解决。而 @import 是在页面 DOM 完全载入后才会进行加载,如果我们将[v-cloak]写在 @import 加载的 css 文件中,就会导致页面仍旧闪烁。

总结

以上所述是小编给大家介绍的Vue.js 中的 v-cloak 指令及使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
很全的显示阴历(农历)日期的js代码
Jan 01 Javascript
input禁止键盘及中文输入,但可以点击
Feb 13 Javascript
JQuery控制radio选中和不选中方法总结
Apr 15 Javascript
javascript实现自动输出文本(打字特效)
Aug 27 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
Jan 05 Javascript
JS实现的简易拖放效果示例
Dec 29 Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 Javascript
javascript中this用法实例详解
Apr 06 Javascript
微信小程序使用Socket的实例
Sep 19 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
JS实现分页导航效果
Feb 19 Javascript
vue.js实现照片放大功能
Jun 23 Javascript
浅析Vue.js 中的条件渲染指令
Nov 19 #Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 #Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 #Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 #Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 #Javascript
Javascript实现动态时钟效果
Nov 17 #Javascript
使用Javascript简单计算器
Nov 17 #Javascript
You might like
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
PHP 二维数组和三维数组的过滤
2016/03/16 PHP
javascript Object与Function使用
2010/01/11 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
JavaScript实现抖音罗盘时钟
2019/10/11 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
vue.js实现照片放大功能
2020/06/23 Javascript
[04:49]期待西雅图之战 2016国际邀请赛中国区预选赛WINGS战队赛后采访
2016/06/29 DOTA
python中常用的九种预处理方法分享
2016/09/11 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
浅谈django的render函数的参数问题
2018/10/16 Python
Django用户认证系统 User对象解析
2019/08/02 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
keras 多任务多loss实例
2020/06/22 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
意大利灯具购物网站:Lampade.it
2018/10/18 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
测试时代收集的软件测试面试题
2013/09/25 面试题
工程力学专业自荐信范文
2014/03/17 职场文书
重点工程汇报材料
2014/08/27 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python