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 相关文章推荐
javascript 操作文件 实现方法小结
Jul 02 Javascript
学习面向对象之面向对象的术语
Nov 30 Javascript
javascript代码加载优化方法
Jan 30 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
Oct 11 Javascript
js 连接数据库如何操作数据库中的数据
Nov 23 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
Javascript基础知识(三)BOM,DOM总结
Sep 29 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
Dec 12 Javascript
js将URL网址转为16进制加密与解密函数
Mar 04 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 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语法(3)
2006/10/09 PHP
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
php打造属于自己的MVC框架
2012/03/07 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
smarty中常用方法实例总结
2015/08/07 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
2013/07/09 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
axios基本入门用法教程
2017/03/25 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
python add_argument()用法解析
2020/01/29 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
小学生演讲稿大全
2014/04/25 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
AI:如何训练机器学习的模型
2021/04/16 Python
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL